我有两种字符串变体:
- some_prefix需要的部分*some_suffix
- some_prefix需要的部件
我只需要匹配">需要的部分"。
左边界总是点。
右侧边界为星号(如果存在(或行的末尾。
已尝试:
/.*[.](.*)[*].*/
-正在为第一种情况工作
/.*[.](.*)/
-正在为第二种情况工作
如何用一个正则表达式做同样的事情?
您可以使用
/.([^*]+)/
请参阅regex演示。
详细信息
.
-一个点([^*]+)
-组1:除*
之外的任何一个或多个字符
您还可以通过在模式之前使用.*
来确保获得最右边的匹配(如原始正则表达式(:
/.*.([^*]+)/
如果支持,您还可以使用lookbacking在左侧断言.
。
(?<=.)[^*]+
模式匹配:
(?<=.)
正向向后看,直接向左断言.
[^*]+
使用否定字符类匹配除*
之外的任何字符1+次
Regex演示