难以形成正则表达式
Difficulty forming a regular expression
我正在尝试检查一个字符串以确保它只包含小写和大写字母、数字 0-9、下划线、破折号和句点。
我一直用于字母、数字、下划线和破折号的正则表达式工作正常,是这样的:
"[^a-zA-Z0-9_-]"
我在添加 space 和句点的检查时遇到困难。
我试过:
"[^a-zA-Z0-9_- ]"(在破折号后添加了 space)
“[^a-zA-Z0-9_-\s\.]”(试图转义白色 space 字符)
我也试过把 \s 和 \.在主块之外,也在它们自己的块中。
感谢任何建议。
添加具有特殊含义的字符时要小心:您忘记了连字符。
我认为这就是您要找的:
"[\^ a-zA-Z0-9_,\.\-]"
连字符(代表字符)必须位于(否定)字符 class 的开头或结尾。
字符里面class句点是一个普通字符,不需要转义。
let pattern = "[^a-zA-Z0-9_. -]+"
我正在尝试检查一个字符串以确保它只包含小写和大写字母、数字 0-9、下划线、破折号和句点。
我一直用于字母、数字、下划线和破折号的正则表达式工作正常,是这样的:
"[^a-zA-Z0-9_-]"
我在添加 space 和句点的检查时遇到困难。
我试过:
"[^a-zA-Z0-9_- ]"(在破折号后添加了 space) “[^a-zA-Z0-9_-\s\.]”(试图转义白色 space 字符)
我也试过把 \s 和 \.在主块之外,也在它们自己的块中。
感谢任何建议。
添加具有特殊含义的字符时要小心:您忘记了连字符。 我认为这就是您要找的:
"[\^ a-zA-Z0-9_,\.\-]"
连字符(代表字符)必须位于(否定)字符 class 的开头或结尾。
字符里面class句点是一个普通字符,不需要转义。
let pattern = "[^a-zA-Z0-9_. -]+"