繁体   English   中英

如何使“ +”和“ *”在正则表达式的内部起作用

[英]How to make “+” and “*” work inside lookahead of regex

我现在正则表达式内的正则表达式内部出现问题。 特别地,给定字符串:

"hello" world

那么以下正则表达式似乎不起作用:

(?<=\"\w+\" )world

那么我可以用正则表达式公式来捕捉“世界”吗?

当我在正则表达式操场上检查您的正则表达式时,它在“?<=”中显示了一些错误。 然后,我将您的正则表达式更改为

(\\?*<*=*"*\\w+"* )world

它与测试用例“ hello”世界匹配。

您需要在“?”之前使用“ \\”的第一个问题

关于*和+的其他字符:*要求匹配0或更大,+要求匹配1或更大。 因此,在可以跳过单词之后使用*,对于单词不能使用+。

测试您的正则表达式并了解公式的含义: https//regexr.com/

您的示例( (?<=\\"\\w+\\" )world )中的正则表达式是先入为主,而不是先行。 大多数语言(包括PHP)在后面都不支持非固定长度的正则表达式。

相反,您可以编写一个正则表达式,例如\\"w+\\" (world)然后提取第一个捕获组的值。 尽管以这个例子为例,正则表达式似乎有点过分……

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM