正则表达式的英文说明

问题描述 投票:1回答:5

我真的使用正则表达式挣扎。我给下面的正则表达式的英文说明任何人都可以请请请帮助我..

  • 一世。 A(AA)*
  • II。度(b *是* 2 *)*
  • III。 B(B *是* 2 *)*

我的继承人尝试,但每个人都在班上一直似乎有更短的答案。

  • 一世。找到一个“一”后接零次或多次“AA” S应被视为
  • II。找到一个“a”后随这种模式的任一零次或多次:(零次或多次“B”后接零本或更多次“AB”随后零次或多次“AB”)
  • III。查找“B”,随后此模式的任一零次或多次:(零次或多次“B”后接零本或更多次“AB”随后零次或多次“AB”)
regex
5个回答
4
投票

如果这些字符串是实际的正则表达式,它们(完全)符合下列条件:

  1. 奇数as的。
  2. 的字符串开始a,随后as和bs的任意组合,具有总体奇数as的。
  3. 的字符串开始b,随后as和bs的任意组合,具有总体偶数as的。边缘情况:如果字符串中包含不止一个b,它必须包含至少两个as。

“任何组合”包括每个字符的零个实例。

1一些可能的匹配:

a
aaa
aaaaaa
aaaaaaaa etc.

2一些可能的匹配:

a
aaa
ababa
aaab
abbbbbbbbaa
ababababababa

3一些可能的匹配:

b
baa
baba
baaaaaba
bbbbbbbbbbaa
bababababbbbb

0
投票

让我提示你一下:

  • 你如何描述正则表达式“A”?如何“AA”?好了,现在,你会如何形容表达式“a *”和“(AA)*”?对于后者有这是有趣的图案。现在,试着将它们结合起来。什么是A(AA)*?如果你写下一对夫妇的标本进行常规的语言,还有你可以发现一个模式。
  • 奇数和偶数在这里起到了重要作用。

关键是要削减了正则表达式,并了解每一个部分。然后写下一对夫妇的字符串,其是在RE决定的语言。然后寻找一个模式。我的猜测是,这是想要你的TA /教授你才能了解一个RE,它决定了语言之间的relationsship做。


0
投票

有一个免费的工具Ultrapico Express它可以帮助。只要运行在任何你所提到的,那么它应该是比较容易翻译成一般的英文的正则表达式的匹配;

Ultrapico Express parsing a regex


0
投票
  1. 奇数个为。
  2. 的字符串开头的,随后的单个任意组合和多个BS(零个或多个),总体奇数作为。
  3. 的字符串开始用b,随后的单个任意组合和多个BS(零个或多个),总体偶数作为。

-1
投票

我 - 奇数的的,具有至少一种。二 - 奇数的的,具有至少一个,和0个或多个b各自一对的之间的。

你尝试的解决方案似乎是正确的,但我希望你的教授会抱怨你的描述改写的RE,而不是结果的英文说明。

我将离开三回你重新字(主要是因为它比其他两个更困难,我今天上午懒!)

© www.soinside.com 2019 - 2024. All rights reserved.