专栏文章
题解:AT_ijpc_ijpc 国際情報オリンピック日本代表プログラミングコンテスト (Welcome to IJPC)
AT_ijpc_ijpc题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @miqm698l
- 此快照首次捕获于
- 2025/12/04 07:04 3 个月前
- 此快照最后确认于
- 2025/12/04 07:04 3 个月前
前言
正则表达式,是一种由许多标记来表示一个字符串的表达式。
例如:
例如:
[A-Za-z0-9_] 就是来匹配所有大小写字母+数字+下划线的一个表达式。标记 []
这个标记是用来将一些连续的字串/单独的符号来包括在其中。
例如:
例如:
[A-Z] 是指匹配所有的大写字母。标记 ()
将标记合成一个组。
标记 |
这个符号是用来标记两个元素的关系,相当于或。
那么,以下正则表达式:
CPP那么,以下正则表达式:
(A|B|C)aa
将会匹配:
Aaa / Baa / Caa。标记-
表示连续的字串。例如:
[A-Z]。注意到升序原则1。
思路
首先,匹配
然后匹配
同理,匹配需要替换 个字母的表达式。
大概的表达式应该是:
CPP[IJPC] ( 步,因为不需要替换任何字母)然后匹配
(I[A-Z]PC) 等等( 步,只有一个字母需要替换)同理,匹配需要替换 个字母的表达式。
大概的表达式应该是:
//0
IJPC
//1
[A-Z]JPC
I[A-Z]PC
IJ[A-Z]C
IJP[A-Z]
//2
[A-Z][A-Z]PC
[A-Z]J[A-Z]C
[A-Z]JP[A-Z]
I[A-Z][A-Z]C
I[A-Z]P[A-Z]
IJ[A-Z][A-Z]
[A-Z][A-Z][A-Z]C
[A-Z]...
这个需要在C++17中使用2!
后言
关于正则表达式的语法远远不止这些,加油 OIer!
Footnotes
-
-左右两边的元素应当保证左小右大。 ↩
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...