【问题标题】:Regular expression for string like :"Iphone 6"字符串的正则表达式,例如:“Iphone 6”
【发布时间】:2016-05-26 16:54:47
【问题描述】:

我正在做一个 NLP 项目。

我想匹配一个具有以下形式的字符串: “Iphone 6、Iphone 5、Iphone 4 等。”变成一个词组,而不是分开的词,比如:“Iphone”和“6”。

这是我到目前为止可以执行的正则表达式:

^iphone $\+[+]?([0-9]*)?[0-9]+([\.,]\d+)*

【问题讨论】:

  • 太好了,非常感谢@AlexK 的帮助。
  • @AlexK。 iphone 6s、iphone 5s 等的正则表达式怎么样?
  • (\bIphone \d+s?\b) 以匹配所有这些,删除 ? 以仅匹配以 s 结尾的那些

标签: regex automata


【解决方案1】:

您可以像这样使用正则表达式:

[iI]phone [456]

Demo

如果你想支持任何号码,你可以使用\d+ 而不是[456]

更新:因为您为您的评论添加了一个新案例:Iphone 6s,iphone 5s。然后你可以在模式中添加s?

[iI]phone [456]s?

如果你想考虑 Iphone 6s 和 6se,那么你可以:

[iI]phone [456](?:se?)?

【讨论】:

  • 感谢您的回答,Iphone 6s、iphone 5s 等的正则表达式怎么样?
  • @xtiger,您没有在问题中指定。无论如何,你可以为此目的使用这个正则表达式[iI]phone [456]s?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-09
  • 1970-01-01
  • 2015-06-03
相关资源
最近更新 更多