Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更新Regex以排除后跟除空格以外的任何内容的点_Regex_Ruby - Fatal编程技术网

更新Regex以排除后跟除空格以外的任何内容的点

更新Regex以排除后跟除空格以外的任何内容的点,regex,ruby,Regex,Ruby,我正在使用验证rails应用程序中名称的格式。我需要对其进行更新,使其不接受类似mike.jones的内容 当前正则表达式 可接受的名称 无效名称 然后,您只需将移动到正则表达式的末尾(并转义它),这样您仍然可以让人们的名字后面有Jr.: /([A-Za-z ',-]+\.?)/ 它应该很好用 如果您感兴趣,可以使用一些方法学习正则表达式。然后您只需将移动到正则表达式的末尾(并将其转义),这样您仍然可以让人们的姓名末尾带有Jr.: /([A-Za-z ',-]+\.?)/ 它应该很好用 P

我正在使用验证rails应用程序中名称的格式。我需要对其进行更新,使其不接受类似mike.jones的内容

当前正则表达式 可接受的名称 无效名称
然后,您只需将
移动到正则表达式的末尾(并转义它),这样您仍然可以让人们的名字后面有
Jr.

/([A-Za-z ',-]+\.?)/
它应该很好用


如果您感兴趣,可以使用一些方法学习正则表达式。

然后您只需将
移动到正则表达式的末尾(并将其转义),这样您仍然可以让人们的姓名末尾带有
Jr.

/([A-Za-z ',-]+\.?)/
它应该很好用


<> P>有一些用于学习正则表达式,如果你感兴趣。

当你需要解释在有效名称中间出现的周期时,答案会有点复杂。根据你的描述,规则似乎是只要句号后面不紧跟字母就可以了。这可以通过regex lookahead实现:

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


当你需要解释在有效名称中间出现的周期时,答案有点复杂。根据你的描述,规则似乎是只要句号后面不紧跟字母就可以了。这可以通过regex lookahead实现:

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



演示:

史密斯先生或J.K.罗琳怎么样?因为应该是这样的valid@CarySwoveland我确实看到了另一个答案。虽然被接受的答案没有通过,但它正在我的脑海中传递。@CarySwoveland我可能很快就会改变答案。我的说明书中有一个问题。史密斯先生或J.K.罗琳怎么样?因为应该是这样的valid@CarySwoveland我确实看到了另一个答案。虽然被接受的答案没有通过,但它正在我的脑海中传递。@CarySwoveland我可能很快就会改变答案。我的规范中有个问题。那不是你链接中的正则表达式。锚?但是史密斯先生呢?(见对问题的评论)这不是你链接中的正则表达式。锚?但是史密斯先生呢?(见对问题的评论。)@CarySwoveland我不确定这是不是真的。例如,如果逗号后面的句点有效怎么办?@AntarrByrd-听起来你不知道自己想要什么。请编辑您的答案,以包括您希望每个人都属于哪一类:
P.A.
P.A.
P.A.
pa.
P.A.
pa.
@Addison是的,我意识到了。这就是我删除评论的原因。现在我将排除这个例子。我很难知道什么是有效的,因为我没有得到明确的要求。安塔尔,你只需要假设一下你需要什么,并据此提出你的问题。这取决于你,我们不想听这个。举例可以帮助读者理解问题,但不能代替对问题的精确陈述。您需要以类似这样的内容开始提问:“我需要验证我的应用程序中的名称。名称可能包含字母、空格和任何字符<代码>”,.-,但前提是每个句点(如果有)必须后跟空格或位于字符串的末尾。”@CarySwoveland我不确定这是否正确。例如,如果逗号后面的句点有效怎么办?@AntarrByrd-听起来你不知道自己想要什么。请编辑您的答案,以包括您希望每个人都属于哪一类:
P.A.
P.A.
P.A.
pa.
P.A.
pa.
@Addison是的,我意识到了。这就是我删除评论的原因。现在我将排除这个例子。我很难知道什么是有效的,因为我没有得到明确的要求。安塔尔,你只需要假设一下你需要什么,并据此提出你的问题。这取决于你,我们不想听这个。举例可以帮助读者理解问题,但不能代替对问题的精确陈述。您需要以类似这样的内容开始提问:“我需要验证应用程序中的名称。名称可能包含字母、空格和任何字符
”,.-
,但前提条件是每个句点(如果有)后面必须跟一个空格或在字符串末尾。”
'Baxter2',
'user@gmail',
'#michael',
'tina.fay'
/([A-Za-z ',-]+\.?)/