Multiline Regex栏最后一行

时间:2015-03-02 17:04:25

标签: php regex

我试图创建一个正则表达式,捕获新行之前的最后一个字符,以检查逗号是否是该行的最后一个字符,就像在邮政地址中看到验证错误一样,因为我想强制包含逗号

例如

地址第1行,
地址第2行,
地址第3行,
地址第4行,
区,
邮编

这些信息将通过文本区域添加,但我似乎无法弄明白,因为我对正则表达式不是很好。到目前为止我有:

/\w\n/igm

但是这会捕获所有行以及任何以特殊字符结尾的行将通过验证,而所有行的最后一行应以逗号结尾。对此的任何帮助将不胜感激。

欢呼Callum

2 个答案:

答案 0 :(得分:1)

  

我试图创建一个正则表达式来捕获新行之前的最后一个字符

你可以使用这个正则表达式:

/,$/m

RegEx Demo

答案 1 :(得分:0)

这将找到所有错误的行,然后在需要的地方添加逗号。

全球查找:([^,\r\n])(?<!Postcode)(\r?\n|\z)
并替换:$1,$2

应该做的伎俩。

 # ([^,\r\n])(?<!Postcode)(\r?\n|\z)

 ( [^,\r\n] )         # (1), Last char before linebreak or EOS
 (?<! Postcode )      # Not 'Postcode' behind
 ( \r? \n | \z )      # (2), Linebreak or EOS