代码之家  ›  专栏  ›  技术社区  ›  Xaisoft

使用或不使用正则表达式?

  •  19
  • Xaisoft  · 技术社区  · 14 年前

    question 关于使用正则表达式允许-90.0到+90.0之间的数字。我得到了一些关于如何实现正则表达式的答案,但大多数答案还提到,如果不使用正则表达式或使用正则表达式,这将是更好的处理方法。那么如何决定何时使用正则表达式,何时不使用正则表达式呢。有没有一张你可以查的清单?

    5 回复  |  直到 8 年前
        1
  •  46
  •   Konrad Rudolph    14 年前

    正则表达式是 文本处理 基于字符 测验。更正式地说,正则表达式擅长处理正则语言,而不擅长其他任何东西。

    意思 ( )在超出字符级别的文本中。这需要一个成熟的解析器。

    在您的特定情况下:识别文本中的数字是一个练习,正则表达式是 好的

    价值 (即语义)需要解释。正则表达式在这方面做得不好。所以在文本中找到一个数字很容易。在文本中找到大于11但小于1004(或可被3整除)的数字是困难的:它需要识别 意思

        2
  •  3
  •   Hugo Migneron    14 年前

    我认为regex表达式对字符串最有效。对于其他数据类型,该数据类型的操作通常更直观,并提供更好的结果。

    在您的示例中,您正在处理数字,因此请相应地处理它们。

    Regex非常强大,但它不是最容易阅读和调试的代码。当另一个可靠的解决方案在手边时,你可能应该去做。

        3
  •  2
  •   Rex M    14 年前

    regular language ,并希望将此字符串转换为对象模型。

        4
  •  0
  •   Silver Light    14 年前

    如果不使用正则表达式(仅使用字符串函数)就可以解决问题,则不使用正则表达式。正如我读过的一本书中所说:正则表达式是对计算机的暴力。

    如果使用语言字符串函数很复杂,请使用正则表达式。

        5
  •  0
  •   Rohit Dhankar    7 年前

    RegEx的基本用例:-

    1. 您需要“键-值对”-键和值都嵌入到其他嘈杂的文本中-否则无法访问或隔离。

    2. 您需要通过在多个文档上循环来自动提取这些值。