基本上我有这些界限:
line1:blabla:etcetc
line2:blabla2:etcetc2
line3:blabla3:etcetc3
我只需捕获第一个' :' 。这是我的正则表达式,但它捕获了所有的' :'
[(?:*)]
答案 0 :(得分:2)
请注意,[(:*?)]
正则表达式匹配1个符号,该符号可以是(
,:
,*
,?
或)
外括号形成字符类(或POSIX正则表达式中的括号表达式),您可以在其中定义此构造可以匹配的字符或其范围,但它将匹配属于集合的1个字符/的范围内。
第一个:
可以与
^([^:]*):
并替换为$1\t
。
请参阅regex demo
<强>详情:
^
- 字符串开头([^:]*)
- 第1组捕获除:
以外的0 +字符,并使用nregated character class [^:]
(注意我们捕获我们需要保留的内容)< / LI>
:
- 文字:
(注意我们匹配我们需要替换的内容)替换模式中的$1
是指第1组中捕获的值。