用于计算文本中的句子的正则表达式,用于逃避电子邮件地址中的点

时间:2011-04-21 08:41:42

标签: java regex

我有一句话我的电子邮件地址是xxxx@xxx.xxx。

我的java regExp是“。+?[\。\?\!] + ” 此regExp有两句话我的电子邮件地址是xxxx @ xxx。 xxx。

如何修改我的regExp以便它不会将电子邮件点数作为一个句子结束?

4 个答案:

答案 0 :(得分:1)

你不能可靠。考虑这个例子:

My email is someone@subdomain.com.hi!

电子邮件是someone@subdomain.com.hi还是someone@subdomain.com

你唯一能做的就是,如果你的文本是由有文化的人写的,那就检测一个以.?!(或其他)<}结尾的句子。强>加一些空间。


现在毁掉所有的希望。这个文字怎么样?它有几句话?

  他高喊“冻结!”,然后拉了下来   拿出他的枪。

答案 1 :(得分:0)

通过正确的书写,即 - 在每个标点符号后留出空格,您可以查找每个\.\s

答案 2 :(得分:0)

决定句子结尾是什么,我可能会使用'。'其次是空格,制表符或行尾。

答案 3 :(得分:0)

其实我不清楚你的问题。 如果您正在寻找用于检测有效电子邮件地址的正则表达式,请使用此。

pattern=/^[a-zA-Z0-9_-.]+@[a-zA-Z0-9_-.]+\.[a-zA-Z]{2,4}$/

示例:

  • name@gmail.co.uk
  • name1.name2@gmail.com
  • name1_name2@hotmail.co.ir