【问题标题】:Regular Expression separation正则表达式分离
【发布时间】:2012-05-27 19:08:19
【问题描述】:

我正在尝试制作一个仅选择两个字符串中的第一个字符串的正则表达式。

IE:

hello:howareyou

我希望正则表达式只返回 hello

同样,我希望另一个人返回 howareyou,但一旦我理解了第一部分,我应该能够弄清楚这一点。

谢谢!


编辑:

到目前为止,我已经尝试过(?:[^"<:]|"[^"]*"|<[^>]*)*,但这只是将两者分开。

【问题讨论】:

  • 我更新了我的帖子。谢谢
  • 这对于你给出的例子来说太复杂了;看起来它正在解析 HTML 标签。如果您的问题如您所说,您只需要担心这些事情:字符串开头,任意数量的非冒号,冒号。需要捕获“任意数量的非冒号”。所有的引号和尖括号都是噪音。此外,@Radu 是非常正确的,因为它对于正则表达式来说有点太简单了。

标签: php regex string


【解决方案1】:

您可以简单地使用explode(':', $str),但如果您坚持使用正则表达式,您也可以使用preg_match('/(.+?):(.+)/', $str, $matches) 来执行此操作,这将返回$matches[1] 中的第一部分和$matches[2] 中的第二部分。

【讨论】:

  • 谢谢!这正是我所需要的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-27
  • 2020-11-14
  • 2013-10-17
  • 2018-06-17
相关资源
最近更新 更多