【问题标题】:What is "~" in regex? [duplicate]正则表达式中的“~”是什么? [复制]
【发布时间】:2013-01-12 02:13:27
【问题描述】:

可能重复:
Tilde operator in Regular expressions

echo preg_replace_callback('~-([a-z])~', function ($match) {
    return strtoupper($match[1]);
}, 'hello-world');

代码来自http://php.net/manual/en/functions.anonymous.php

我在正则表达式中搜索了“~”是什么,但没有找到答案。

它有什么作用?

【问题讨论】:

  • 它似乎使用~ 作为分隔符,而不是最常用的/
  • 好吧,我也查看了一些关于正则表达式的参考文献/tuts,但没有找到。然后我搜索了“~”,虽然我不知道这个符号是如何被准确地调用的。我想有很多人在进行这种搜索..
  • 我相信如果问题已经结束,您仍然可以获得代表,所以不用担心。
  • 当然,没问题..我只是说。
  • 另一个问题的问题文本中没有符号~。我不知道 SO 的搜索引擎是否将符号搜索为关键字,但如果是这样,那么这个问题仍然会有所帮助。

标签: php regex


【解决方案1】:

符号~ 仅在 PHP 正则表达式中用作分隔符。

【讨论】:

    【解决方案2】:

    PHP(和其他实现)中正则表达式的第一个和最后一个字符称为分隔符。通常,您会看到正在使用/,但在这种情况下,有人选择了~Read more here.

    不知道为什么选择~;可能是该特定开发人员的习惯。通常,当正则表达式本身将包含斜杠(例如匹配的 URL)时,选择不同的分隔符而不是 /,这样斜杠就不需要每次都转义。

    【讨论】:

      猜你喜欢
      • 2015-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-06
      • 2016-08-31
      • 2011-06-15
      • 2015-03-11
      • 2014-09-02
      相关资源
      最近更新 更多