Select part of line in regular expression

2020-05-05 17:49发布

问题:

I have this string:

#1#http://test.ir:8080/srvSC.svc#1#
#2#http://test.ir:8081/srvSC.svc#2#
#3#http://test.ir:8082/srvSC.svc#3#
#4#http://test.ir:8083/srvSC.svc#4#
#5#http://test.ir:8084/srvSC.svc#5#
#6#http://test.ir:8085/srvSC.svc#6#

I want to select all #1# #2# ... so in order to i wrote this expression : ^(^\#.\#) but it just select first line.How could i select first #.# and last of #.#?

回答1:

You can use

^(#\d+#)(.+)\1$

That will capture the first #s in a group, repeat any characters, and then match the same characters that were matched in the first group. The string you want will be in the second captured group.

https://regex101.com/r/7Er0Ch/5