正则表达式只匹配第一个字符
Regex match only first char
所以基本上我有这些行:
line1:blabla:etcetc
line2:blabla2:etcetc2
line3:blabla3:etcetc3
我只需要捕获第一个“:”。现在这是我的正则表达式,但它捕获了所有 ' : '
[(:*?)]
请注意,[(:*?)]
正则表达式匹配 1 个符号,该符号可以是 (
、:
、*
、?
或 )
] 因为外括号形成一个 字符 class (或 POSIX 正则表达式中的括号表达式),您可以在其中定义此构造可以匹配的字符或其范围, 但它将匹配属于 set/ranges.
的 1 个字符
第一个:
可以匹配到
^([^:]*):
并替换为\t
。
详情:
^
- 字符串开头
([^:]*)
- 第 1 组捕获除 :
以外的 0+ 个字符,带有 nregated 字符 class [^:]
(注意我们 capture 我们需要保留的东西)
:
- 文字 :
(注意我们 匹配 我们需要替换的内容)
而替换模式中的
指的是第1组中捕获的值。
所以基本上我有这些行:
line1:blabla:etcetc
line2:blabla2:etcetc2
line3:blabla3:etcetc3
我只需要捕获第一个“:”。现在这是我的正则表达式,但它捕获了所有 ' : '
[(:*?)]
请注意,[(:*?)]
正则表达式匹配 1 个符号,该符号可以是 (
、:
、*
、?
或 )
] 因为外括号形成一个 字符 class (或 POSIX 正则表达式中的括号表达式),您可以在其中定义此构造可以匹配的字符或其范围, 但它将匹配属于 set/ranges.
第一个:
可以匹配到
^([^:]*):
并替换为\t
。
详情:
^
- 字符串开头([^:]*)
- 第 1 组捕获除:
以外的 0+ 个字符,带有 nregated 字符 class[^:]
(注意我们 capture 我们需要保留的东西):
- 文字:
(注意我们 匹配 我们需要替换的内容)
而替换模式中的指的是第1组中捕获的值。