【问题标题】:Regular Expression, RegEx, for validation of complex string in php正则表达式,RegEx,用于验证 php 中的复杂字符串
【发布时间】:2019-02-09 19:25:35
【问题描述】:

嘿,我正在尝试为具有以下有效字符的字符串获取 php RegEx:

允许使用任何 [a-zA-Z]* (a-Z) 字符串,以及格式为:/xxx 的数字,其中 xxx 代表数字,如下所示:000-032 和 035 和 092。 而这些字符串和\xxx序列可以以任何方式连接,我们想要多少次都可以,例如:

“STring\032with\032a\032\032\反斜杠\032\092and\010a\035newLine”

到目前为止,我得到的是这个 RegEx:[[a-z]*\\0([0-2][0-9]|3[0-2]|35|92)]*

但它似乎只能识别带有“字符串部分”和“反斜杠部分”的字符串:“exampleString\032”,之后什么都没有

加上我可以以某种方式制作一个正则表达式,其中字符串字符可以是特定字母表吗?比如让我们说德语或捷克语?

【问题讨论】:

  • 您正在寻找| alternation。不,正则表达式无法合理地指定语言。
  • 我试图想出一些语言字母正则表达式here,但列表并不详尽。此外,使用这些正则表达式时,可能保留原始拼写的借用可能无法匹配。
  • @WiktorStribiżew 我的强迫症快疯了。您以错误的顺序列出了瑞典字母。 åäöÅÄÖ 请.... :-) 挪威语是一样的。
  • @Andreas 不知道,我认为订单只是来自维基百科的订单。
  • 如果您实际上显示了一个包含数据的示例字符串,然后显示另一个包含从示例字符串中提取的匹配项的字符串,这将有所帮助

标签: php regex


【解决方案1】:

我希望这能解决问题:

^((([a-zA-Z])\\?)*(((0[0-2][0-9])|(03[0-2])|(035)|(092))\\?)*)+$

Successfully tested here.

【讨论】:

  • 非常感谢您的帮助,我只有一个问题,它在 regex101 上运行良好,但在我使用 preg_match 的 php 代码中似乎不起作用。
  • preg_match('/((([a-zA-Z])\\?)*(((0[0-2][0-9])|(03[0-2 ])|(035)|(092))\\?)*)+/', $your_string);
猜你喜欢
  • 2014-12-03
  • 1970-01-01
  • 2013-02-09
  • 1970-01-01
  • 2013-06-01
  • 2014-10-14
  • 2018-10-10
  • 1970-01-01
  • 2020-09-16
相关资源
最近更新 更多