需要正则表达式模式

时间:2019-01-30 12:05:36

标签: regex

我正在尝试为制作正则表达式: 这是用户定义的欢迎消息。
可以使用\'Creation \'菜单下的\'General Items \'项进行修改。

登录名:< / b>%empName%
最后登录时间:%lastLoginTime%
最后登录IP:%lastLoginIP%
最近失败的登录尝试:%loginAttempts%

我尝试在https://regex101.com/上进行模式测试,但都失败了。

有人可以帮我解决上述正则表达式吗?

2 个答案:

答案 0 :(得分:0)

我想你只想要类似的东西

([^:]*):[^%]*%([^%]*)%

此:

([^:]*) -- everything before the first : is the _description_
:       -- followed by a : character
[^%]*   -- followed by any number of non-% characters
%       -- followed by a % character (beginning of token)
([^%]*) -- captures the _token_ between %..%
%       -- followed by a % character (end of token)

第一个捕获组是描述,第二个是令牌。令牌本身将引用一个值。从这个意义上讲,令牌也是与特定值相对应的 key

Try it out here!

答案 1 :(得分:0)

这个问题真的不清楚。

如果要查找变量名,则需要使用:%([^%]+)%。它捕获整个%blahBlah%序列,以后可以用相关信息替换。这样可以确保%%之间没有任何区别。

如果我们认为%blahBlah%是正确的变量名,则正则表达式应如下所示:

%([_a-zA-Z]+[_a-zA-Z0-9]*)%

的含义:下划线,大写和小写字母和数字的任意序列,其中第一个字符不是数字。