fadjfl (10) fdaf
fadjfl dafhaj (10)
fadjfl dafhaj 34 (10)
fadjfl dafhaj 34 dafads      (10)
fadjfl dafhaj 34 dafa(ds) ((  (10)
fadjfl
fadjfl dafhaj
fadjfl dafhaj 34
fadjfl dafhaj 34 dafads
fadjfl dafhaj 34 dafa(ds) ((


我需要正则表达式,它将选择所有内容,但(10)

最佳答案

如果您不问关于正则表达式的理论问题,则应该始终指定一个实现(PHP,Javascript,.NET等),反正则表达式可能仍然属于cs.stackexchange.com。

但是,如果您只想在\(\d+\)之前的字符串,那么请先进行以下操作:

(.*?)(?:\(\d+\)|$)


如果您想要所有内容,那么如果可以有多个带括号的数字,那实际上是不可能的。可能数量有限,例如3:

(.*?)(?:\(\d+\)|$)(.*?)(?:\(\d+\)|$)(.*?)(?:\(\d+\)|$)


除非您使用.NET,否则:

((.*?)(?:\(\d+\)|$))*


之后您可以循环浏览GroupCollection

09-25 17:30