【问题标题】:parsing string using regex or php使用正则表达式或 php 解析字符串
【发布时间】:2010-11-22 15:54:48
【问题描述】:

简而言之,我试图在不触及周围文本的情况下使用包装的 xhtml 标记查找和替换文本。理想情况下,我打算在 Notepad++ 中使用正则表达式,但没有使用正则表达式的经验,并且只有有限的 PHP 经验,

例如:

Year: 2007    Registration: XYZS23
Transmission: Auto    Stock Number: AZ1234
Kilometres: 1280    Colour: Blue
Features: 
includes cruise control.

使用解析后的文本,它将如下所示:

<strong>Year:</strong> 2007    <strong>Registration:</strong> XYZS23
<strong>Transmission:</strong> Auto    <strong>Stock Number:</strong> AZ1234
<strong>Kilometres:</strong> 1280    <strong>Colour:</strong> Blue
<strong>Features:</strong>
includes cruise control.

所以任何建议将不胜感激。

【问题讨论】:

    标签: php regex string notepad++


    【解决方案1】:

    您可以搜索[^\s{2,}]+: 并替换为&lt;strong&gt;$0&lt;/strong&gt;&lt;strong&gt;\0&lt;/strong&gt;,具体取决于编辑器。

    它在 TextMate 中!

    http://i.stack.imgur.com/5aqfO.png

    【讨论】:

    • 我在讨厌的 Windows Vista 下使用 Notepad++ unicode,如果有帮助吗?但是,当我使用上面的代码时,它不幸地替换为文字文本(不带引号)“$0
    • 您尝试过 \0 吗?我没有要测试的 Windows。
    • 是的......不幸的是它做了同样的事情并且做了一个字面替换。即“\0
    • 如果这不起作用,它可能无法将整个字段匹配为 $0。您可以尝试 ([^\s{2,}]+:) 并替换为 $1\1
    • 将正则表达式放在括号中并使用 \1 作为替代品在 Notepad++ 中对我有用。
    【解决方案2】:

    所以 - 你必须搜索这个:

    <whitespace> <any non-null number of alphanumerical characters> : <whitespace>
    

    当使用 preg_replace(PHP 中的正则表达式)时,会如下所示:

    $parsed = preg_replace("/([A-Z]+:)/", "<strong>$0</strong>", $original);
    

    【讨论】:

    • 很抱歉,这很痛苦,但有没有办法在 Notepad++ 中做到这一点?我尝试使用不带引号的正则表达式,但它确实进行了文字替换:即。用 $0 替换每个查找
    • 不过,这与“库存编号”字段不匹配。您需要在 NotePad++ 中执行 /[^\s{2,}]+:/ 并替换为 $0 我相信。
    • 很遗憾,这不起作用 Bill,抱歉我需要在哪里使用 \0 Tim?
    • 很抱歉,您需要在搜索字段中输入 [^\s{2,}]+: 并在替换字段中输入 $0。 // 当我处理正则表达式时,这只是一种习惯。 i.imgur.com/5aqfO.png
    • 不用担心账单,肯定关闭,但不幸的是我一定做错了什么,因为它找到了要替换的正确文本,然后用 $0 替换每个实例
    【解决方案3】:

    试试这个:

    search : ([a-zA-Z]+ *[a-zA-Z]*:)
    replace: <strong>\1</strong>
    

    【讨论】:

      猜你喜欢
      • 2011-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多