PHP中是否有正则表达式只匹配一个句子。例如,以大写字母开头并以.
,!
或?
结尾的句子。
preg_match(/regex here/g, $string, $matches);
有时会使用缩写词,因此如果后跟.
字符,那么2个字符或更少字符的单词不得结束句子。
答案 0 :(得分:0)
a sentence starting with a capital letter and ending with ., ! or ?
您可以使用:
preg_match('/[A-Z].*?[.!?]/s', $string, $matches);
详细说明:
[A-Z] - To match any capital letter
.*? - Match a string of 0 or more characters (non greedy)
[.!?]/ - Match one of . OR ! OR ?
/s
- 将点匹配换行符答案 1 :(得分:0)
试试这个:["'“]?([A-Z]((?!([A-Za-z]{2,}|\d+)[.?!]+["']?\s+["']?[A-Z]).)*)(((Mr|Ms|Mrs|Dr|Capt|Col)\.\s+((?!\w{2,}[.?!]['"]?\s+["']?[A-Z]).)*)?)*((?![.?!]["']?\s+["']?[A-Z]).)*[.?!]+["'”]?