我正在使用这个正则表达式来查找确切的字符串,但它往往会忽略后面的字符串,
这有效,
var textFragmentAbsorber = new TextFragmentAbsorber(@"internal(?=\s|$)");
这不,
var textFragmentAbsorber = new TextFragmentAbsorber(@"internal (10) Ab(?=\s|$)");
通过不起作用我的意思是它没有找到文本“internal(10)Ab”
我得到的文字来自网络服务,所以我所能做的就是在结尾添加正则表达式...它可以是(10)或(((((1000,我无法想象)
答案 0 :(得分:6)
internal \(10\) Ab(?=\s|$)
你需要转义()
。()
具有特殊意义,它用于分组。如果你想要文字()
,你必须逃避它。参见演示。
https://www.regex101.com/r/rK5lU1/8
如果可以是(10)
或((((10000))))
然后尝试internal \(*\d+\)* Ab(?=\s|$)
答案 1 :(得分:4)
在正则表达式中,()
是特殊的元字符,表示捕获组的开始和结束。您需要按顺序转义括号以匹配文字(
,)
符号。
var textFragmentAbsorber = new TextFragmentAbsorber(@"internal \(10\) Ab(?=\s|$)");