Php 正则表达式只匹配一句话

Php 正则表达式只匹配一句话,php,regex,Php,Regex,PHP中是否有只匹配一个句子的正则表达式。例如,一个以大写字母开头,以,结尾的句子或? preg_match(/regex here/g, $string, $matches); 有时使用缩略语,因此如果后面跟一个,则2个字符或更少的单词不能作为句子的结尾 以大写字母开头,以.,.结尾的句子!还是? 您可以使用: preg_match('/[A-Z].*?[.!?]/s', $string, $matches); 详情: [A-Z]-匹配任何大写字母 *?-匹配0个或更多字符的字符串(非贪

PHP中是否有只匹配一个句子的正则表达式。例如,一个以大写字母开头,以
结尾的句子

preg_match(/regex here/g, $string, $matches);
有时使用缩略语,因此如果后面跟一个
,则2个字符或更少的单词不能作为句子的结尾

以大写字母开头,以.,.结尾的句子!还是?

您可以使用:

preg_match('/[A-Z].*?[.!?]/s', $string, $matches);
详情:

  • [A-Z]-匹配任何大写字母
  • *?-匹配0个或更多字符的字符串(非贪婪)
  • [.!?]/-匹配其中一个。或还是?
  • /s
    -也要使点匹配换行符
  • (A-Z)(A-Z)(A-Z)(A-Z)(A-A-Za-Z[2,}|[[A-Za-Z[2,}[[[[2,}目前目前,<<<<<<<<<尝试尝试这一尝试:尝试这一尝试:<<<<<<<<<<<<<<<<<<<<<<<0 0 0.5 5...[[[[[5]尝试尝试尝试尝试尝试尝试尝试尝试尝试这一<<<<<<<<<<<<<<<<<尝试尝试尝试尝试尝试尝试这:::::::<<<<<<以下以下以下以下以下以下以下以下以下以下以下以下以下以下以下以下:::::::<<<<<<<<尝试尝试尝试尝试尝试尝试尝试::::::::::::<<<<<<<<<<<<<<<“]?


来源:

如果你对句子的定义不正确,很容易找到反例。砰!您就在这里。根据提供的定义,可能应该是
[.!?]
。。当然,打破这样的结构很容易:“亨利先生一边跳舞一边大喊‘我喜欢苹果’。”这也很容易打破。标题中的“realiable”很容易引起误解。