如何使正则表达式的某个部分可选?

时间:2011-03-17 01:06:14

标签: regex

如何使正则表达式的某些部分可选?例如:

\d* [\\s\\w*?]

...括号内的表达式是可选的。

4 个答案:

答案 0 :(得分:1)

我认为这不是你想要的正则表达。 [\ s \ w *?]表示“匹配一个空格,一个单词,一个星形或一个问号的字符”。我想你最终想要的是什么(\ s \ w)*?其中说“匹配0或更多的空格后跟一个单词并且不要贪婪。

虽然你可能正在寻找(\ s | \ w)*?它说“匹配一个词或一个空格0次或更多次,不要贪心它。”

答案 1 :(得分:0)

只需在*之后添加]即可。 *表示0或更多。

答案 2 :(得分:0)

您可以将括号内的组设为可选,因此(abc)?可以按预期工作。 \d*(\s\w*?)?我认为会做你正在描述的事情

答案 3 :(得分:0)

?之后添加]?表示零或前一个元素之一。