单词中的正则表达式空格

时间:2015-10-28 21:16:32

标签: regex

假设:

<currency: word with spaces, 56>

和正则表达式:

<(?:CURRENCY):[ ]*(\w+(\s*,\s*)\d+(\s*\d+)*)>

我必须更改以接受“带空格的单词”中的空格

5 个答案:

答案 0 :(得分:1)

您目前正在搜索\w这是一个单词字符,与空格相反。此外,不确定您是否打算捕获空格和逗号,而不是数字值。这只捕获了单词和数字。

<CURRENCY:\s+?(.+)\s*,\s*(\d+)(?:\s*(\d+))?>

在调试这些内容时,我发现regex101.com非常有用。

答案 1 :(得分:0)

这有帮助吗?

<(?:currency)\:\s*\w(\w|\s)+,\s*\d+(\s*|\d+)*>

答案 2 :(得分:0)

这应该做:

<currency: ((\w+\s*)*), (\d+)>

答案 3 :(得分:-1)

另一个:

<(?:currency:)\s([\w\s]*),\s\d+>

如果您不想捕获空字符串,请将*更改为+

你也不需要非捕获组?:

<currency:\s([\w\s]*),\s\d+>

也会这样做。

答案 4 :(得分:-2)

这对我有用:

<(currency):[ ]*(\w+(\s+\w+)*\s*,\s*\d+(\s*\d+)*)>

不确定&#34;?:&#34;是的,所以你可能想要:

<(?:CURRENCY):[ ]*(\w+(\s+\w+)*\s*,\s*\d+(\s*\d+)*)>