【问题标题】:Check If first character is "+"检查第一个字符是否为“+”
【发布时间】:2015-09-04 15:24:36
【问题描述】:

如何检测以"+"开头的字符串

我试过了
^\s*?\+.*$
但没有帮助。

P.s:我一直只有一条线。

【问题讨论】:

  • 这应该可以正常工作,尽管? 是不必要的。其实最后的.*$也是没必要的。您可以在regex101.com 上自行测试
  • 嗯 Tasker 条件无法识别它们。很有趣。
  • 据说是not possible。哇。看起来像一些通配符,而不是正则表达式。
  • ^\s*\+ 如果我在 Tasker 中选择“匹配正则表达式”作为条件运算符,则工作。
  • 因此,tasker 中没有延迟匹配。 :-(

标签: regex tasker


【解决方案1】:

你不需要\s*?,你必须使用:

^\+
or...
^[+]

如果你想检查一个完整的字符串,你可以使用:

^\+.*$

Working demo

【讨论】:

    【解决方案2】:

    ^\+.*$ 应该适用于您的目的。

    这里有几个测试字符串:https://regex101.com/r/nP2eL7/1

    【讨论】:

      【解决方案3】:

      没有正则表达式,你也可以使用原生方法startsWith()

      原来是这样:

      var str1 = '+some text';
      var bool = str1.startsWith('+'); //true
      

      【讨论】:

        【解决方案4】:

        如果字符串的第一个字符恰好是 +- 并且您不希望后续数字有任何前导零,则这是一个可选(和最佳)解决方案:

        /(?<=^\+|-|^)[1-9]\d*/
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-05-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-12-19
          • 2021-08-19
          相关资源
          最近更新 更多