我想从字符串的开头搜索,但我无法弄清楚如何。
如果字符串为>plaplapla>plaplapla(321)
,我希望从第一个字符/>.+?\(\d.\)/
的最后一次出现开始,使用正则表达式>
获取文本。
例如,如果文字为>fir5t W0rd$ > $ec0nd here(2) >third here()
,我要提取的文字为> $ec0nd here(2)
。
我尝试使用regix />.+?\(\d.\)/
,但它为>fir5t W0rd$ > $ec0nd here(2)
而不是> $ec0nd here(2)
。
如何修改regix,使其从'>'出现的最后位置开始。字符?
答案 0 :(得分:2)
由于您的字符串似乎是>
分隔符,请使用[^>]
否定字符类而不是.*?
惰性点模式:
/>[^>]+\(\d+\)/
请参阅regex demo。请注意,/>[^>]+?\(\d+\)/
的工作方式类似,但会匹配(<DIGITS>)
之后的第一个>
子字符串。请参阅this regex和the one above。
<强>详情
>
- 文字>
[^>]+
- 尽可能多的>
以外的一个或多个字符\(
- 文字(
\d+
- 一个或多个数字\)
- )
符号。答案 1 :(得分:1)