^(([(Title|Relaese Year|Format|Stars):]{0,})([a-zA-Z0-9]{0,}))
我将其应用于的文本如下:
Title: Blazing Saddles
Release Year: 1974
Format: VHS
Stars: Mel Brooks, Clevon Little, Harvey Korman, Gene Wilder, Slim Pickens, Madeline Kahn
问题来了:
答案 0 :(得分:2)
请注意,分组构造((...)
)放在方括号内时,不再是分组构造,所有字符都开始匹配它们。但是,您遇到的问题是[a-zA-Z0-9]{0,}
与0个或多个字母数字字符匹配。它不匹配空格,任何标点符号或符号。
您可以使用
^(Title|Release Year|Format|Stars): *(.*)
请参见regex demo
使用(.*)
,您将在第2行中捕获到行尾的所有零个或多个字符。
详细信息
^
-一行的开始(如果启用了多行模式)(Title|Release Year|Format|Stars)
-组1:组中的任何值: *
-一个冒号和0+个空格(.*)
-组2:行末尾除换行符以外的任何零个或多个字符。