从字符串中提取一个单词
Extract one word from String
我正在为 REGEX 苦苦挣扎,找不到解决方案。
我有以下字符串:
LSUS_GDIS_SHIP_0211e947-1587-11de-9967-99f27557554e.txt
LSUS_GDIS_REC_0211e947-1587-11de-9967-99f27557554e.txt
LSUS_GDIS_CAPACITY_0211e947-1587-11de-9967-99f27557554e.txt
我需要匹配除 SHIP、REC 或 CAPACITY 之外的每一行。
我想到了
(?!.*\bSHIP\b|\bREC\b|\bCAPACITY\b).*
如何排除 SHIP 或 REC 或 CAPACITY?当我这样做时
(SHIP|REC|CAPACITY)
我只匹配这些字符串,但我想排除它们。
每一行都可以用正则表达式分成三部分
([A-Z_]+)(SHIP|REC|CAPACITY)([_a-z\d-\.]+)
那么你可以使用替换为
replacement1++replacement2
使用正则表达式进行分组匹配:
^([\s\S]*?)(SHIP|REC|CAPACITY)([\s\S]*?)$.*
说明:对于结果check this link
^
« 匹配字符串的开头而不消耗任何字符。如果使用多行模式,这也会在换行符之后立即匹配。
- 第 1、3 个捕获组 ([\s\S]*?)
\s
« 匹配任何 space、制表符或换行符。
\S
« 匹配 space、制表符或换行符以外的任何内容。
[\s\S]
« 匹配任意字符
*?
量词——匹配零次和无限次之间,尽可能少,按需扩展(懒)
- 2nd Capturing Group (SHIP|REC|CAPACITY),将这些词匹配为第 2 组
$
声明行尾的位置
.*
匹配任何字符(行终止符除外)
我正在为 REGEX 苦苦挣扎,找不到解决方案。 我有以下字符串:
LSUS_GDIS_SHIP_0211e947-1587-11de-9967-99f27557554e.txt
LSUS_GDIS_REC_0211e947-1587-11de-9967-99f27557554e.txt
LSUS_GDIS_CAPACITY_0211e947-1587-11de-9967-99f27557554e.txt
我需要匹配除 SHIP、REC 或 CAPACITY 之外的每一行。
我想到了
(?!.*\bSHIP\b|\bREC\b|\bCAPACITY\b).*
如何排除 SHIP 或 REC 或 CAPACITY?当我这样做时
(SHIP|REC|CAPACITY)
我只匹配这些字符串,但我想排除它们。
每一行都可以用正则表达式分成三部分
([A-Z_]+)(SHIP|REC|CAPACITY)([_a-z\d-\.]+)
那么你可以使用替换为
replacement1++replacement2
使用正则表达式进行分组匹配:
^([\s\S]*?)(SHIP|REC|CAPACITY)([\s\S]*?)$.*
说明:对于结果check this link
^
« 匹配字符串的开头而不消耗任何字符。如果使用多行模式,这也会在换行符之后立即匹配。- 第 1、3 个捕获组 ([\s\S]*?)
\s
« 匹配任何 space、制表符或换行符。\S
« 匹配 space、制表符或换行符以外的任何内容。[\s\S]
« 匹配任意字符*?
量词——匹配零次和无限次之间,尽可能少,按需扩展(懒)
- 2nd Capturing Group (SHIP|REC|CAPACITY),将这些词匹配为第 2 组
$
声明行尾的位置.*
匹配任何字符(行终止符除外)