Regex 在向前看之后捕获文本
我有一个文本,它是一些文本,后跟Regex 在向前看之后捕获文本,regex,Regex,我有一个文本,它是一些文本,后跟或路径,最后是一些偏执的东西。我想捕获模式1和模式2(开头有..或/): 有解决方法吗?在您的正则表达式中,\.匹配两个点,但不捕获它们后面的/,因此,它是。此外,在捕获组中保持积极的前瞻性是没有意义的,因为它会在结果中创建不必要的组,所以您可以将(\.\.\.\.\.\/)移动到消费模式部分 你可以用 (.+?)(<null>| (?:\.\.\/|\/))(.*?)(?= \() (.+?)(|(?:\.\.\.\/|\/)(.*)(=\()
或路径,最后是一些偏执的东西。我想捕获模式1和模式2(开头有..或/):
有解决方法吗?在您的正则表达式中,
\.
匹配两个点,但不捕获它们后面的/
,因此,它是。此外,在捕获组中保持积极的前瞻性是没有意义的,因为它会在结果中创建不必要的组,所以您可以将(\.\.\.\.\.\/)
移动到消费模式部分
你可以用
(.+?)(<null>| (?:\.\.\/|\/))(.*?)(?= \()
(.+?)(|(?:\.\.\.\/|\/)(.*)(=\()
见
模式匹配:
-(第1组)除换行符以外的一个或多个任意字符,尽可能少,直到第一次出现(.+?)
-(第2组)(|(?:\.\/\.\/\/)
或后跟
或./
的空格/
-(第3组)零个或多个字符,但换行符应尽可能少,直到第一次出现后跟(.*)(=\()
)的空格(
/
,对吗?它只是与两个点交替不匹配在lookahead中捕获组内的tive分支(我认为这个lookahead是多余的,因此,我只是将内容移动到消费模式)。
(.+)(?=(<null>|( \.\.| \/)))(.+)(.*)(?= \()
pthread_create
/
/
(.+?)(<null>| (?:\.\.\/|\/))(.*?)(?= \()