Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.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/6/ant/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,我正在尝试创建满足以下条件的正则表达式: 对象名称必须: 大写 可以包含字符两侧的任何数字 以下字符排除在“*”的任何位置&/ 任何关于你如何做到这一点的建议都将不胜感激 有效例子: 场地10 A23-扁平件12B范围和余量节距。 警卫空间大道2-9号。 无效示例: 场地10 A23/12B扁平件范围和余量节距 GUARDSPACE大道2号和9号 它可以通过以下正则表达式实现: ^[^a-z'"*&<>\/]+$ 如果您的意思是不能有数字和&'*/的字符组可以前后跟数字,则

我正在尝试创建满足以下条件的正则表达式:

对象名称必须:

大写 可以包含字符两侧的任何数字 以下字符排除在“*”的任何位置&/ 任何关于你如何做到这一点的建议都将不胜感激

有效例子:

场地10 A23-扁平件12B范围和余量节距。 警卫空间大道2-9号。 无效示例:

场地10 A23/12B扁平件范围和余量节距 GUARDSPACE大道2号和9号
它可以通过以下正则表达式实现:

^[^a-z'"*&<>\/]+$

如果您的意思是不能有数字和&'*/的字符组可以前后跟数字,则可以执行以下操作:

^\d*[^a-z&<>"*'\/]*$

另外,如果不希望正则表达式与空字符串匹配,请将字符类的*更改为+

^[A-Z\d]+$。。。。。发布一些有效和无效的例子。什么语言?以下字符被排除在任何位置,因此允许使用其他所有字符?听起来好像只允许大写字母和数字。示例输入、预期输出和您遇到的问题将有助于解决此问题。任何未列出的字符都是允许的。可以在字符串中的任何位置。我想这就解决了。非常感谢。[^a-z&*'\/]已经允许使用数字,因此\d*是不必要的。未使用捕获组,我宁愿将其删除以获得更好的性能。另一个注意事项是它允许一个空字符串。不确定这是预期行为。@Stribizov,是的,我的错误更新回答谢谢更新。如果我要限制整个字符串的长度,必须在3-60个字符之间,那么{1,58}最后能做到吗?@user1905307,我也更新了演示链接,你可以检查它是否与你在问题中说的有效字符串完全匹配,与你提到的其他无效字符串不匹配。非常感谢你。
^\d*[^a-z&<>"*'\/]*$
^\d*[^a-z0-9&<>"*'\/]*\d*$