本文
"dhdhd89(dd)"
与此正则表达式匹配
.+?(?:\()
..返回“ dhdhd89(”。
为什么捕获中包含起始括号? 两个不同的工具以及.NET Regex类返回相同的结果。所以我认为有一些我不明白的事情。
我阅读正则表达式的方式是。
我可以找到解决方法,但我仍然想知道发生了什么。
答案 0 :(得分:1)
答案 1 :(得分:1)
您可以使用此基于否定的正则表达式仅捕获文字(
之前的文字:
^([^(]+)
使用时:
.+?(?:\()
正则表达式引擎在初始文本后匹配(
,但它不会将捕获的组中的内容返回给您。
答案 2 :(得分:1)
你没有定义捕获组然后我猜你显示整个匹配(组0),你可以这样做:
(.+?)(?:\()
,您想要的字符串在第1组
或使用lookahead @AvinashRaj说。