我需要一個正則表達式,它可以用換行符替換小寫字母n
,但只有在後面跟着數字0-9
或大寫字母。需要一個正則表達式才能匹配字母后跟數字或大寫
例如,字符串:
Company Building
100 Prospect Way
我試圖清理在PHP這個數據,所以結果表達式必須兼容:
Company Buildingn100 Prospect Way
到需要被轉化。
我需要一個正則表達式,它可以用換行符替換小寫字母n
,但只有在後面跟着數字0-9
或大寫字母。需要一個正則表達式才能匹配字母后跟數字或大寫
例如,字符串:
Company Building
100 Prospect Way
我試圖清理在PHP這個數據,所以結果表達式必須兼容:
Company Buildingn100 Prospect Way
到需要被轉化。
試試這個:
n(?=[\dA-Z])
在PHP(working example):
$str = preg_replace("/n(?=[\dA-Z])/", "\n", $str);
(?=...)
是一個積極的前瞻 - 它會檢查我們相匹配的n
後有什麼,但不匹配,所以下一個字符不會被替換。
$result = preg_replace("/n(?=[\dA-Z])/", "\n", $subject);
如果用大寫字母表示ASCII字母,則會執行此操作。
$result = preg_replace("/n(?=[\d\p{Lu}])/u", "\n", $subject);
如果您使用Unicode。
`\ n`的雙引號? – BoltClock 2011-01-19 11:04:13