正则表达式子表达式

发布于 2024-07-23 04:47:08 字数 695 浏览 4 评论 0原文

我正在研究一个需要标记子表达式的正则表达式(在.Net 中)。 示例输入为:

  1. EFBCFEyy
    • EFBQFEyyQ
    • EFBQFE yy Q
    • EFBMFEyyMM
    • EFByyMFEMM

我需要的是取出所有由“yy”或“MM”描述的子表达式。 到目前为止,我得到的表达式适用于前几个字符串,但不适用于最后一对。 可能有空格,它们与周围的非日期格式字符组合在一起。

用“/”分隔子表达式,这就是我要寻找的(分别),粗体部分是我在正则表达式求值后需要操作的部分:

  1. EFBCFE/yy
    • EFBQFE/yy/Q
    • EFBQFE /yy/ Q
    • EFBMFE/yy/MM
    • EFB/yy/MFE/MM

以下是适用于前三个的内容:

(.*)(yy|MM)(.*)

我缺少什么?

I'm working on a regular expression (in .Net) that needs to mark subexpressions. Sample inputs are:

  1. EFBCFEyy
    • EFBQFEyyQ
    • EFBQFE yy Q
    • EFBMFEyyMM
    • EFByyMFEMM

What I need is to pull out all of the sub-expressions delineated by "yy" or "MM". The expression I've got so far works for the first few strings, but not the final pair. There may be spaces, which get grouped in with the non-date-format characters around them.

With "/" to separate the subexpressions, this is what I'm looking for (respectively), with the parts in bold being the ones I need to manipulate after the RegEx has evaluated:

  1. EFBCFE/yy
    • EFBQFE/yy/Q
    • EFBQFE /yy/ Q
    • EFBMFE/yy/MM
    • EFB/yy/MFE/MM

Here's what I have that works for the first three:

(.*)(yy|MM)(.*)

What am I missing?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

奶茶白久 2024-07-30 04:47:08

在 Java 中,这将满足您的要求:

MyString.split('yy|MM')

如果 .NET 没有类似的正则表达式拆分函数,我会感到惊讶...

我们开始吧,这看起来与 .NET 等效:
http://msdn.microsoft.com/en-us/library/8yttk7sy。 ASPX

Regex.Split( MyString , 'yy|MM' )

In Java, this would do what you want:

MyString.split('yy|MM')

I'd be surprised if .NET doesn't have a similar regex split function...

Here we go, this looks to be the .NET equivalent:
http://msdn.microsoft.com/en-us/library/8yttk7sy.aspx

Regex.Split( MyString , 'yy|MM' )
关于从前 2024-07-30 04:47:08

“我需要的是提取所有由“yy”或“MM”描述的子表达式。”

yy|MM

这就是你所需要的(除非我不太明白这个问题)。

申请为“全球”。 对我来说,它匹配粗体部分:

  • EFBCFEyy
  • EFBQFEyyQ
  • EFBQFE yy Q
  • EFBMFEyyMM
  • EFB yyMFEMM

"What I need is to pull out all of the sub-expressions delineated by "yy" or "MM"."

yy|MM

That's all you need (unless I minunderstand the question).

Apply as "global". For me it matches the bold parts:

  • EFBCFEyy
  • EFBQFEyyQ
  • EFBQFE yy Q
  • EFBMFEyyMM
  • EFByyMFEMM
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文