Regex 公司名称变更的正则表达式
我要求仅在字符串值满足以下条件时才接受它们: 1) 如果需要,可以以特殊字符开头Regex 公司名称变更的正则表达式,regex,Regex,我要求仅在字符串值满足以下条件时才接受它们: 1) 如果需要,可以以特殊字符开头 2) 必须以大写字母开头(即使第一个字符是特殊字符) 3) 字符串值在一行中不能有2个特殊字符(连续) 4) 字符串值在一行中不能有2个空格(连续) 5) 允许使用重音字符(例如:Faddas) 6) 字符串开头或结尾的封闭值有效,但必须在括号内(即:(Ltd)) 7) 字符串值中的任何位置都允许使用数字 我有以下正则表达式值:^(\([^)]+)?[\@\\\\\\\$\%\&\*\(\)\-\\\\\+\\[\
2) 必须以大写字母开头(即使第一个字符是特殊字符)
3) 字符串值在一行中不能有2个特殊字符(连续)
4) 字符串值在一行中不能有2个空格(连续)
5) 允许使用重音字符(例如:Faddas)
6) 字符串开头或结尾的封闭值有效,但必须在括号内(即:(Ltd))
7) 字符串值中的任何位置都允许使用数字 我有以下正则表达式值:
^(\([^)]+)?[\@\\\\\\\$\%\&\*\(\)\-\\\\\+\\[\';\:\?\.\,\!]?\p{Lu}+[\s'-]?\p{L}+(?:[\s'-]\p{L}+(\([^))+)*
这对以下测试值正常:埃斯特航运有限公司
埃斯特航运(有限公司) 但下一个示例失败:
Éast-123航运(有限公司) 有没有办法允许数字在字符串中间?
我尝试过[0-9]变体、[A-Za-z09]变体和p{N}变体,但没有效果 非常感谢您的时间。这是一个非常糟糕的模式,但我能够简化它一点,并做您想做的事情:
^(\(([^)]+)\))?[[:punct:]]?\p{Lu}+(?:[\s'-]?[\p{L}\d]+)+(\(([^)]+)\))*$
有很多有用的速记字符类,包括[[:punct:][]
,我用它代替了大量的标点字符类。为了增加包含数字的功能,我将\p{L}
放在一个字符类中,该字符类带有\d
标记,该标记将匹配任何数字(在任何语言中,带有Unicode标志)
我们有一些公司名称可以接受的字符
^[0-9A-Za-zÀ-ÿ\s,._+;()*~'#@!?&-]+$
请添加语言标记。