我想知道是否可以在brakets中定位charcter的每个实例。
例如,我想针对每个' *'符号在这里:
[Lorem ipsum * dolor sit * amet,consectetur * adipisicing elit]
但是如果它不在支架之内我不想定位它
Lorem ipsum * dolor sit * amet,consectetur * adipisicing elit
所以我从零开始:\*/g
定位*
的所有实例。
如果我这样做:\[.+?(\*).+\]
我可以得到它的最后一个实例,但有没有办法将它们全部定位?或者我必须提取行李中的每个句子并单独定位它们?
答案 0 :(得分:1)
答案 1 :(得分:1)
你可以使用这样的东西,假设你确定括号是平衡的并且你没有嵌套括号:
\*(?=[^[]*\])
如果您有嵌套和平衡括号并想要替换所有星号,则需要进行一些递归:
\*(?=(?:[^][]|(\[(?:[^][]|(?1))*\]))*\])