【发布时间】:2017-01-08 06:17:13
【问题描述】:
寻找一些正则表达式,它将为括号内出现的单词创建一个捕获组,忽略括号本身。正则表达式必须是 PCRE 或 ICU。
输入:( lakshd asd___ asa1123 Name : _____)
所需输出:Name
我尝试过的:
\\((Name|name|NAME)\\)
(?<=\\()name|Name|NAME(?=\\))
\\(name|Name|NAME\\)
【问题讨论】:
-
什么意思?您试图删除括号内的
Name?我不明白寻找已知单词并保留它的意义,这与声明变量并为其赋值相同。无论如何,您正在做的事情可以通过str_match(s, "(?i)\\([^()]*\\b(Name)\\b[^()]*\\)")找到 -
你也会有嵌套层次的括号吗?
-
在任何情况下你都没有
(Name)。我认为您可以使用\\(.*(Name|name|NAME).*\\)我不知道r但那里不仅有contains或strpos功能。 -
@revo 不需要嵌套括号