正则表达式截断最后 4 个字符并确保它不包含特定单词
Regex to truncate last 4 characters and make sure it doesn't contain specific words
我得到诸如“BumpCardV2Resource.getInstance.Time”或“BumpCardWebResource.getInstance.Time”或“BumpCardResource.getInstance.Time”之类的字符串。我需要一个正则表达式来只获取“BumpCardResource.getInstance”
目前,我正在使用否定前瞻来确保字符串不包含 V2 或 Web,但不确定如何截断最后 5 个字符 (.Time)。
我正在使用的正则表达式:/^(?!.*V2|.*WebResource).*$/
PS - 资源和 API 端点不断变化。它不一定只是 BumpCard 或 getInstance
您可以使用正则表达式 匹配整个字符串 并 捕获 从字符串开头到 [=11] 的任何文本=] 最后:
/^(?!.*V2|.*WebResource)(.*)\.Time$/
见regex demo。 详情:
^
- 字符串开头
(?!.*V2|.*WebResource)
- 字符串 中的任何地方都不允许 V2
或 WebResource
(.*)
- 捕获第 1 组:除换行字符外的任何零个或多个字符尽可能多
\.Time
- .Time
字符串
$
- 字符串结尾。
我得到诸如“BumpCardV2Resource.getInstance.Time”或“BumpCardWebResource.getInstance.Time”或“BumpCardResource.getInstance.Time”之类的字符串。我需要一个正则表达式来只获取“BumpCardResource.getInstance”
目前,我正在使用否定前瞻来确保字符串不包含 V2 或 Web,但不确定如何截断最后 5 个字符 (.Time)。
我正在使用的正则表达式:/^(?!.*V2|.*WebResource).*$/
PS - 资源和 API 端点不断变化。它不一定只是 BumpCard 或 getInstance
您可以使用正则表达式 匹配整个字符串 并 捕获 从字符串开头到 [=11] 的任何文本=] 最后:
/^(?!.*V2|.*WebResource)(.*)\.Time$/
见regex demo。 详情:
^
- 字符串开头(?!.*V2|.*WebResource)
- 字符串 中的任何地方都不允许 (.*)
- 捕获第 1 组:除换行字符外的任何零个或多个字符尽可能多\.Time
-.Time
字符串$
- 字符串结尾。
V2
或 WebResource