当我的一个选择后跟空格或为空时的正则表达式

时间:2015-12-21 11:24:23

标签: regex regex-lookarounds

我有这个正则表达式:

^((?:[\d,//\½\¼]+\s(?:dag|g|little|l|liter)?(?=\s))|)(.*)

如果我输入:1升牛奶我得到一个匹配。如果我输入1个鸡蛋,我就不会得到1美元的匹配。为什么不呢?

我如何判断条件应该是升+空格,l +空格等......还是只有数字?

我可以在没有(?= \ s)的情况下制作像(dag | g | little | l | l)这样的单词,但这有点愚蠢...在每个单词之后写空间......

示例:

输入字符串:

30 dag beans
around 1,5 liter of water
1 liter
1 egg
1/2 teaspoon water

输出:

30 dag
around 1,5 liter of water
1 liter
1
1/2

1 个答案:

答案 0 :(得分:0)

检查 ^((?:\d+(?:\/\d+)?)\s(?:dag|liter)?|.*)。这给出了输出中显示的精确匹配。检查名为Match Information的右中间部分以查看匹配项。                      - 图莎尔