要继续并在那里得到一个观点,而不是重复使用这些:
[A-Za-z0-9 _]
[A-Za-z0-9]
我有两个(希望更好)替换这两个:
[\w ]
[^\W_]
第一个匹配任何单词字符(字母数字和 _ ,以及Unicode)和空格 . 第二个匹配任何非单词字符或下划线(仅限字母数字,以及Unicode) .
如果您不想要Unicode匹配,那么请坚持使用其他答案 . 但这些看起来更容易(在我看来) . 在撰写本文时使用“首选”答案并使用较短的正则表达式给出了我们:
^[\w ]*[^\W_][\w ]*$
也许更具可读性,也许更少 . 当然更短 . 你的选择 .
编辑:
就像一个注释,我在这里假设Perl风格的正则表达式 . 你的正则表达式引擎可能支持也可能不支持\ w和\ W之类的东西 .
编辑2:
使用JS regex测试程序测试了我的链接和一些基本示例正常工作 . 没有做任何广泛的事情,只是想确保\ w和\ W在JS中运行良好 .
编辑3:
尝试使用JS regex测试站点测试一些Unicode后,我发现了问题:该页面使用的是ISO而不是Unicode . 难怪我的日语输入不匹配 . 哦,这应该不难解决:
或者 . 我不知道在JavaScript方面应该做些什么,但我确信这并不难 .