gpt4 book ai didi

regex - 匹配字母数字、连字符、下划线和空格字符串的正则表达式

转载 作者:行者123 更新时间:2023-12-04 22:58:18 25 4
gpt4 key购买 nike

我正在尝试匹配包含字母数字、连字符、下划线和空格的字符串。

连字符、下划线、空格和数字是可选的,但第一个和最后一个字符必须是字母。

例如,这些都应该匹配:

abc
abc def
abc123
ab_cd
ab-cd

我试过这个:
^[a-zA-Z0-9-_ ]+$

但它在开始/结束时与空格、下划线或连字符匹配,但它应该只允许介于两者之间。

最佳答案

使用一个用字母字符包裹的简单字符类:

^[a-zA-Z]([\w -]*[a-zA-Z])?$

这匹配以字母开头和结尾的输入,仅包括一个字母。

您的正则表达式中存在一个错误:您的字符中间有连字符,这使其成为一个字符范围。即 [9-_]表示“ 9_ 之间的每个字符。

如果您想要字符类中的文字破折号,请将其放在首位或最后或转义它。

另外,更喜欢使用 \w “单词字符”,所有字母和数字以及下划线优先于 [a-zA-Z0-9_] - 打字和阅读更容易。

关于regex - 匹配字母数字、连字符、下划线和空格字符串的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34916716/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com