我想匹配像
这样的命令a c x y
其中a是字母" a",c是任何字母(a-z,A-Z),x是整数,y是整数(x和y假设为坐标)。 a,c,x和y应分隔一个空格
所以我写了这个正则表达式
string_match (regexp "a [a-zA-z] [0-9]+ [0,9]+") str 0
但是当我在utop中运行时
utop # let str = "a c 7 12";;
val str : string = "a c 7 12"
utop # string_match (regexp "a [a-zA-z] [0-9]+ [0,9]+") str 0;;
- : bool = false
我弄错了......
我还尝试使用正则表达式a[ ][a-zA-z][ ][0-9]+[ ][0,9]+
来匹配空格,但这也没有用
如果有人
答案 0 :(得分:3)
对于y
,您的正则表达式是:[0,9]
。我认为它应该是[0-9]
。 (注意“,”与“ - ”)。 [0,9]
将匹配字符0,逗号和9.您的规范说明y
是一个整数,表明[0-9]
是您想要的。
所以:
a [a-zA-z] [0-9]+ [0-9]+
应该有用。
另外,考虑“锚定”你的正则表达式,方法是用^开头,它匹配输入的开头,然后用$结束,它匹配输入的结尾。
这样的事情:
^a [a-zA-z] [0-9]+ [0-9]+$