首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java正则表达式匹配&[ text (text - text) !text]

java正则表达式匹配&[ text (text - text) !text]
EN

Stack Overflow用户
提问于 2017-03-01 04:15:46
回答 2查看 172关注 0票数 0

我目前正在创建一个正则表达式,以拆分出与以下格式匹配的所有字符串:&[text(text - text text) !text]。这里的文本实际上可以是任何字符。而且间距也很重要。文本将如下所示列出。

我已经尝试了以下正则表达式,但似乎无法使其工作:

代码语言:javascript
复制
&\\[([^\\]]*)\\]

任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2017-03-01 04:27:48

您可以用\w+替换text以捕获1个或多个单词字符。假设其他所有内容都是文字,下面的正则表达式应该可以工作:

&\[\w+\(\w+ - \w+ \w+\) !\w+\]

如果你愿意,你也可以用[a-zA-Z]代替\w。它有时更容易理解,因为它显式地描述了要匹配的字符,包括a-zA-Z

&\[[a-zA-Z]+\([a-zA-Z]+ - [a-zA-Z]+ [a-zA-Z]+\) ![a-zA-Z]+\]

并且仅对于一个字符,删除+

&\[\w\(\w - \w \w\) !\w\]

&\[[a-zA-Z]\([a-zA-Z] - [a-zA-Z] [a-zA-Z]\) ![a-zA-Z]\]

附注-我不记得-&!是否被视为正则表达式符号,如果它们是正则表达式符号,您可以使用\-\&\!将它们变为文字。

P.P.S -在java中,你必须对\进行转义,这样\w在字符串中就变成了\\w

票数 1
EN

Stack Overflow用户

发布于 2017-03-01 05:07:00

如果要将text提取为组,以便在以下情况下使用它们:

代码语言:javascript
复制
&\\[(\\w+)\\((\w+)\\s\\-\\s(\\w+)\\s(\\w+)\\)\\s!(\\w+)]

example

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42517938

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档