相关疑难解决方法(0)

正则表达式:?:表示法(问号和冒号)

我有以下Java正则表达式,我没有写,我试图修改:

^class-map(?:(\\s+match-all)|(\\s+match-any))?(\\s+[\\x21-\\x7e]{1,40})$
           ^                                 ^
Run Code Online (Sandbox Code Playgroud)

它与类似.

注意第一个问号.这是否意味着该组是可选的?对应之后已有问号).结肠在正则表达式中有特殊意义吗?

正则表达式编译得很好,并且已经有JUnit测试显示它是如何工作的.只是我对第一个问号和冒号的原因感到有些困惑.

java regex

92
推荐指数
2
解决办法
5万
查看次数

在Python中使用正则表达式替换时访问匹配的子字符串

我想匹配两个正则表达式A和B,其中A和B显示为"AB".我想在A和B之间插入一个空格,使它变成'A B'.

例如,如果A = [0-9]且B =!+,我想做类似以下的事情.

match = re.sub('[0-9]!+', '[0-9] !+', input_string)
Run Code Online (Sandbox Code Playgroud)

但是,这显然不起作用,因为这将用字符串'[0-9]!+'替换任何匹配.

如何在正则表达式中执行此操作(最好在一行中)?或者这需要几个繁琐的步骤?

python regex

4
推荐指数
1
解决办法
66
查看次数

标签 统计

regex ×2

java ×1

python ×1