2011-01-19 22 views
3

我需要一個正則表達式,它可以用換行符替換小寫字母n,但只有在後面跟着數字0-9或大寫字母。需要一個正則表達式才能匹配字母后跟數字或大寫

例如,字符串:
Company Building
100 Prospect Way

我試圖清理在PHP這個數據,所以結果表達式必須兼容:
Company Buildingn100 Prospect Way

到需要被轉化。

回答

4

試試這個:

n(?=[\dA-Z]) 

在PHP(working example):

$str = preg_replace("/n(?=[\dA-Z])/", "\n", $str); 

(?=...)是一個積極的前瞻 - 它會檢查我們相匹配的n後有什麼,但不匹配,所以下一個字符不會被替換。

3
$result = preg_replace("/n(?=[\dA-Z])/", "\n", $subject); 

如果用大寫字母表示ASCII字母,則會執行此操作。

$result = preg_replace("/n(?=[\d\p{Lu}])/u", "\n", $subject); 

如果您使用Unicode。

+0

`\ n`的雙引號? – BoltClock 2011-01-19 11:04:13

相關問題