模式的正则表达式"形式1987A"

时间:2015-07-16 16:56:59

标签: java regex pattern-matching

我需要从短语中提取出一个字符串,并且提取的字符串应该与定义的模式匹配。我正在使用java正则表达式模式,Matcher。我唯一需要的是以下模式字符串的正则表达式:

  • 表单1987 (即"表单"关键字后跟空格后跟任意4位数字)
  • 表格1987A (即"表格"关键字后跟空格,后跟任意4位数字和资本A)
  • 表格1987-A (即"表格"关键字后跟空格,后跟任意4位数字和-A)

更新1

正则表达式只有在短语以" 表格"开头时才会找到匹配项关键词,而不是" Form 1987"出现在短语的中间。实施例

"我正在观看 Form 1987 Monuments Men" - 不应该匹配 " 形式1987 我正在观看纪念碑男人" - 应匹配

2 个答案:

答案 0 :(得分:3)

您还可以将所有表单与一个正则表达式匹配:

Form\s\d{4}-?A?

如果要将其直接放入Java代码

,请使用双反斜杠\\

DEMO

答案 1 :(得分:1)

这是一个相当简单的匹配模式,因为数字必须正好是4位数。这是你想要的模式;只需将它们包装在一个java模式中即可。

  1. 表格[0-9] {4}
  2. 表格[0-9] {4} A
  3. 表格[0-9] {4} -A
  4. 您可以使用正则表达式here来查找它们并了解有关正则表达式的更多信息。