更新正则表达式以排除除了空格之外的任何内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了更新正则表达式以排除除了空格之外的任何内容相关的知识,希望对你有一定的参考价值。

我正在使用我的rails应用程序验证名称的格式。我需要更新它,所以它不接受像mike.jones这样的东西

current regex

/([A-Za-z ',.-]+)/

acceptable names

'Baxter',
'Doe de Sour Jr.',
'Smith-Brown',
"Mathias d'Arras",
"d'Arras",
'King, Jr.',
'Cotton III'

invalid names

'Baxter2',
'user@gmail',
'#michael',
'tina.fay'
答案

当您需要考虑有效名称中间出现的句点时,答案有点复杂。根据你的描述,规则似乎是句号很好,只要它们不会立即后跟字母。这可以通过正则表达式预测完成:

^(?!.*.S)[A-Za-z ',.-]+$

但是:ぁzxswい

另一答案

然后你只需要将https://regex101.com/r/LkUl38/2移动到你的正则表达式的末尾(然后逃避它),这样你仍然可以在名字的末尾找到.的人:

Jr.

它应该工作正常。 /([A-Za-z ',-]+.?)/

如果你有兴趣,有一些Try it online!用于学习正则表达式。

以上是关于更新正则表达式以排除除了空格之外的任何内容的主要内容,如果未能解决你的问题,请参考以下文章

PHP正则表达式考察点

正则表达式排除“:”和空格(如果存在)

jq正则表达式,除了特殊字符之外的都可以输入,限制5-10位

java正则表达式(regular)

java正则表达式(regular)

使用 < 和 > 对代码进行编码时,正则表达式匹配除 HTML 标记之外的任何内容