Regex 正则表达式:方括号内的括号
我想匹配以下字符串:Regex 正则表达式:方括号内的括号,regex,Regex,我想匹配以下字符串: [-ed, -ing, -ment <i>n.</i>] [-ed,-ing,-ment n.] 但不包括: [-ed, -ing, -ment <b>n.</b>] [-ed,-ing,-ment n.] 我的正则表达式是: \[[\-,\s\.(<i>)(</i>)a-z]+\] \[\-,\s\.()()a-z]+\] 这是行不通的 我将括号添加到中,使其作为一个整体显示,因此不
[-ed, -ing, -ment <i>n.</i>]
[-ed,-ing,-ment n.]
但不包括:
[-ed, -ing, -ment <b>n.</b>]
[-ed,-ing,-ment n.]
我的正则表达式是:
\[[\-,\s\.(<i>)(</i>)a-z]+\]
\[\-,\s\.()()a-z]+\]
这是行不通的
我将括号添加到
中,使其作为一个整体显示,因此
不会匹配
但是,方括号内的括号似乎不起作用。以下内容适用于示例字符串:
\[([^<>]|<i>.*?<\/i>)+?\]
\[([^]|.*)+?\]
即,方括号中包含许多内容,这些内容要么是既不是
,要么是带有某些内容的[…]
它将匹配第一个字符串,而不是第二个字符串。然而,问题描述相当模糊,因此正则表达式可能需要一些调整。例如:
- 它只是
还是什么都不是 - 方括号是否可以包含嵌套的方括号
- 方括号中的内容实际上是逗号分隔的元素,必须全部以连字符开头吗
\-,()()a-z
应该如何匹配-ed,-ing,-ment n.
?!我注意到了你提到的那个问题,并纠正了它。但是\[\-,()()a-z]+\]
也不起作用(编辑后)。现在你只是误解了字符类([…]
)[\-,()()a-z]
相当于[,\/()aiz-]
。我可以建议你读一本正则表达式教程吗?你确定吗a-z
表示从a到z的任何字母表,即a,b,c,d…z
oops,我的坏。它应该是[,\/()a-z-]
。它与
匹配,因为
都在那里。”我给
添加了括号,使其看起来像一个整体“,这就是你错的地方;您只需将
、/
、(
、)
和i
添加到类中,大多数添加了两次。