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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.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 - Fatal编程技术网

Regex 公司名称变更的正则表达式

Regex 公司名称变更的正则表达式,regex,Regex,我要求仅在字符串值满足以下条件时才接受它们: 1) 如果需要,可以以特殊字符开头 2) 必须以大写字母开头(即使第一个字符是特殊字符) 3) 字符串值在一行中不能有2个特殊字符(连续) 4) 字符串值在一行中不能有2个空格(连续) 5) 允许使用重音字符(例如:Faddas) 6) 字符串开头或结尾的封闭值有效,但必须在括号内(即:(Ltd)) 7) 字符串值中的任何位置都允许使用数字 我有以下正则表达式值:^(\([^)]+)?[\@\\\\\\\$\%\&\*\(\)\-\\\\\+\\[\

我要求仅在字符串值满足以下条件时才接受它们:

1) 如果需要,可以以特殊字符开头
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,._+;()*~'#@!?&-]+$

请添加语言标记。