Regex 正则表达式仅接受字母数字的特殊字符

Regex 正则表达式仅接受字母数字的特殊字符,regex,Regex,我创建了以下正则表达式: ^[a-zA-Z0-9 ']{1,24}\r?$ 它应该接受字母数字、空格和撇号。输入至少应为1个字符,最多为24个字符。但它只接受带撇号和空格的输入(例如,“')。我希望只接受带有一些字母数字字符的撇号和空格。所以下面的测试用例应该通过 通过 Test Test'My Regex Test' 123' Regex ' 失败 ” 您可以使用 ^(?=.{1,24}$)[a-zA-Z0-9 ']*[A-Za-z][a-zA-Z0-9 ']*$ 或者,如果只有一个

我创建了以下正则表达式:

^[a-zA-Z0-9 ']{1,24}\r?$
它应该接受字母数字、空格和撇号。输入至少应为1个字符,最多为24个字符。但它只接受带撇号和空格的输入(例如,
“'
)。我希望只接受带有一些字母数字字符的撇号和空格。所以下面的测试用例应该通过

通过

Test
Test'My Regex
Test' 123' Regex '
失败

您可以使用

^(?=.{1,24}$)[a-zA-Z0-9 ']*[A-Za-z][a-zA-Z0-9 ']*$
或者,如果只有一个数字的字符串已经使其有效:

^(?=.{1,24}$)[a-zA-Z0-9 ']*[A-Za-z0-9][a-zA-Z0-9 ']*$

详细信息

Test
Test'My Regex
Test' 123' Regex '
  • ^
    -字符串的开头
  • (?=.{1,24}$)
    -整个字符串必须包含1到24个字符
  • [a-zA-Z0-9']*
    -0+字母数字、空格或
    '
    字符
  • [A-Za-z]
    -一个字母字符(注意替换为
    [A-Za-z0-9]
    ,以允许字符串仅包含一个数字)
  • [a-zA-Z0-9']*
    -0+字母数字、空格或
    '
    字符
  • $
    -字符串结束

如何更改正则表达式以支持Unicode字符。我的意思是,如果我需要支持法语或西班牙语之类的语言,我在regex101.com中检查了相同的测试用例,但它没有按预期工作。没有一件作品是真实的matching@user3771120我