1570_正则表达式

2022-5-16 18:17| 发布者: Hocassian| 查看: 40| 评论: 0|原作者: 肇庆学院ACM合集

摘要:
C:\Users\Administrator\Downloads\2019-10-12-10-14-2-89503981156100-Problem List-采集的数据-后羿采集器.html

Pro.ID

1570

Title

正则表达式

Title链接

http://10.20.2.8/oj/exercise/problem?problem_id=1570

AC

1

Submit

11

Ratio

9.09%

时间&空间限制

  • Time Limit: 2000/1000 MS (Java/Others)     Memory Limit: 262144/262144 K (Java/Others)
  • 描述

    给出一个非空的正则表达式和一个字符串,求该字符串是否能匹配该正则表达式。

    这个正则表达式可能含有:

    基本元素:

    • 空串,输入中不体现;

    • 单个小写字母(例如 a ),a 匹配小写字母 a,这里 a 表示小写字母 a。

    运算符:

    • 连接(例如 ab),ab 匹配可以表示成一个与 a 匹配的串与一个与 b 匹配的串相连接的串,这里 a 表示一个正则表达式,下同。

    • 或(例如 a|b),a|b 匹配与 a 和 b 中至少一个匹配的串。

    • 闭包(例如 a*),a* 匹配零个或多个与 a 匹配的串的连接。

    • 正闭包(例如 a+),a+ 匹配一个或多个与 a 匹配的串的连接。

    • 括号(例如 (a))

    其中连接和或是二元运算符,闭包和正闭包是一元运算符。

    所有运算符都是左结合的,即同等优先级的运算顺序从左到右。

    闭包和正闭包的优先级最高,连接次之,或的优先级最低。

    输入

    多组数据,每组数据两行:

    第一行是一个非空正则表达式,保证符合上述定义,但可能出现多余括号。保证不出现空括号。

    第二行是一个由小写字母组成的非空字符串。


    对于 40% 的数据,正则表达式仅由小写字母,* 和 + 组成。

    对于 100% 的数据,每个正则表达式和字符串长度不超过 100 。

    输出

    Description

    给出一个非空的正则表达式和一个字符串,求该字符串是否能匹配该正则表达式。

    这个正则表达式可能含有:

    基本元素:

    • 空串,输入中不体现;

    • 单个小写字母(例如 a ),a 匹配小写字母 a,这里 a 表示小写字母 a。

    运算符:

    • 连接(例如 ab),ab 匹配可以表示成一个与 a 匹配的串与一个与 b 匹配的串相连接的串,这里 a 表示一个正则表达式,下同。

    • 或(例如 a|b),a|b 匹配与 a 和 b 中至少一个匹配的串。

    • 闭包(例如 a*),a* 匹配零个或多个与 a 匹配的串的连接。

    • 正闭包(例如 a+),a+ 匹配一个或多个与 a 匹配的串的连接。

    • 括号(例如 (a))

    其中连接和或是二元运算符,闭包和正闭包是一元运算符。

    所有运算符都是左结合的,即同等优先级的运算顺序从左到右。

    闭包和正闭包的优先级最高,连接次之,或的优先级最低。

    Input

    多组数据,每组数据两行:

    第一行是一个非空正则表达式,保证符合上述定义,但可能出现多余括号。保证不出现空括号。

    第二行是一个由小写字母组成的非空字符串。


    对于 40% 的数据,正则表达式仅由小写字母,* 和 + 组成。

    对于 100% 的数据,每个正则表达式和字符串长度不超过 100 。

    Output

    对于每组数据,如果正则表达式能匹配该字符串,输出一行 "Yes",否则输出一行 "No",不含引号。

    Sample Input

    aa
    a
    a*
    aa
    a+
    a
    c*a*b
    aab
    ab*a
    bbb
    a(a|b+)*a
    aa
    a(a|b+)*a
    aababba
    a(a|cb+)*a
    aca
    a(a|cb+)*a
    acbbbaacba
    a(a|cb+)*a
    acbbbaacb
    ((a*))
    aa

    Sample Output

    No
    Yes
    Yes
    Yes
    No
    Yes
    Yes
    No
    Yes
    No
    Yes

    Author

    样例输入

    aa
    a
    a*
    aa
    a+
    a
    c*a*b
    aab
    ab*a
    bbb
    a(a|b+)*a
    aa
    a(a|b+)*a
    aababba
    a(a|cb+)*a
    aca
    a(a|cb+)*a
    acbbbaacba
    a(a|cb+)*a
    acbbbaacb
    ((a*))
    aa

    样例输出

    No
    Yes
    Yes
    Yes
    No
    Yes
    Yes
    No
    Yes
    No
    Yes

    提示

    作者


    路过

    雷人

    握手

    鲜花

    鸡蛋

    最新评论

    返回顶部