首页 > 解决方案 > 需要一个在表达式后包含所有字符的正则表达式

问题描述

我正在尝试找出一个正则表达式。这包括它之后的所有字符,但如果出现其他模式,它不会重叠

这是我目前的正则表达式

[a-zA-Z]{2}\d{1}\s?\w?

模式总是 2 个字母后跟一个数字,例如AE1orBE3但我需要模式后面的所有字符。

因此AE1 A E F,但是如果字符串中出现另一个模式,例如 AE1 A D BE1 A D C 它不能与两个单独的匹配项重叠并且是两个单独的匹配项。

所以澄清 AB3 D T B 应该是正则表达式上的一个匹配项

ABC D A F DE3 D CD A 由于两个字母单词和数字,应该与它后面的所有字符匹配 2 个。我如何实现这一目标

标签: regexscala

解决方案


看,你必须考虑你的模式将从哪里开始。AE1 A E F我的意思是,你知道,和之间BE1 A D C有什么不同AE1 A D BE1 A D C?你不想同时对待两者。所以你必须把它们分开。这两个文本的分离只能确定将哪一个放在文本开头。

总而言之,只有添加^以启动您的模式才能解决问题。

所以你的正则表达式应该是这样的:

^[a-zA-Z]{2}\d{1}\s?\w?

演示


推荐阅读