我需要一个正则表达式,它可以用换行符替换小写字母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