检查字符串是否为函数f(x,y,z .......)的最佳正则表达式是什么

时间:2017-10-25 16:24:08

标签: java regex expression

检查字符串是否为函数的最佳正则表达式是什么,如下所示:f(x,y,z.......

2 个答案:

答案 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()

在操作中查看 here

更新

要使用Java编写正则表达式,只需复制\个字符(\\)。

这是必要的,因为Java将单个\解释为转义字符,并且正则表达式解释器期望字符串格式为\。这意味着,要让解释器接收"\"\作为字符串),传递给正则表达式解释器的字符串应使用\\