【问题标题】:Character matching before number regex数字正则表达式之前的字符匹配
【发布时间】:2017-05-23 14:38:40
【问题描述】:

好的,请大家帮我解决问题:

我有正则表达式,它匹配不同形式的数字([0-9]+(\.[0-9]*)?|\.[0-9]+),但我想检查这个数字之前的不同字符,例如#,它应该在带有标签的字符串中工作。

示例:我想将<text>99.0</text> 转换为<number>99.0</number> 如果之前有# 字符,则跳过此部分。 <text>#99.0</text> 不应该变形。

提前致谢。

【问题讨论】:

  • 使用 xml/html 解析器。使用正则表达式操作 xml/html 数据是不好的做法
  • 在开头添加(?<!#)

标签: regex tags numbers character


【解决方案1】:

尝试使用 <text>([^#]*?[\d\.]+.*?)<\/text><number>$1</number> 进行替换。 DEMO

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-02
    相关资源
    最近更新 更多