检查字符串是否为函数的最佳正则表达式是什么,如下所示:f(x,y,z.......
答案 0 :(得分:1)
我想你想要像f\([0-9A-z\,\s]*\)
这样的东西但又取决于你的实际用例......
答案 1 :(得分:1)
f\(((\d+(\.\d+)?)|(\[A-z\]\w*))(,\s*((\d+(\.\d+)?)|(\[A-z\]\w*)))*\)
可以处理:
1)直接值:
f(3.14)
2)复杂的参数名称:f(initial_Position_1)
3)单个参数功能:f(x)
4)多参数函数(n):f(x, y, z)
5)没有空格分隔符的参数:f(x,y,z)
(*)或上述任意组合。
并且防范(失败)反对:
1)无效值或名称以数字开头的参数(无效):
f(3camelKings)
2)参数不符合格式规则(拼写错误):f(x y z)
,f(x, , z)
等... 3)空参数:f()
要使用Java编写正则表达式,只需复制\
个字符(\\
)。
这是必要的,因为Java将单个\
解释为转义字符,并且正则表达式解释器期望字符串格式为\
。这意味着,要让解释器接收"\"
(\
作为字符串),传递给正则表达式解释器的字符串应使用\\
。