我有正则表达式,应检查参数名字。我的字符串可以包含'.,(space)-
。我已经测试并且正则表达式表示true
除了一个字符之外的所有字符。如果我的示例中有Ben's
这样的名称正则表达式返回false
。这是我的正则表达式:
<cfset fname = len(trim(arguments.fname)) AND REFind("(?i)^ *[a-z][a-z' .,-]{0,29} *$",trim(arguments.fname),true) EQ 1>
我不确定是否有其他因素导致我的正则表达式失败。如果有人在我的代码中看到问题出在哪里,请告诉我。谢谢!
答案 0 :(得分:0)
这将帮助您入门。
patternOnlyCertainCharacters = "[^ 0-9a-zA-Z.\-]";
testString = "1.- ~";
writeoutput(refind(patternOnlyCertainCharacters, testString));
在方括号之间
^ is an anchor
There is a space between the ^ and 0 characters
0-9a-zA-Z allows any number or letter, upper or lower case
. is a period
\- is a hyphen, escaped by a backslash
您的工作是正确添加您想要允许的其他字符,例如逗号,并决定如何将结果应用于传入的字符串。