我正在尝试为制作正则表达式:
这是用户定义的欢迎消息。
可以使用\'Creation \'菜单下的\'General Items \'项进行修改。
登录名:< / b>%empName%
最后登录时间:%lastLoginTime%
最后登录IP:%lastLoginIP%
最近失败的登录尝试:%loginAttempts%
我尝试在https://regex101.com/上进行模式测试,但都失败了。
有人可以帮我解决上述正则表达式吗?
答案 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 。
答案 1 :(得分:0)
这个问题真的不清楚。
如果要查找变量名,则需要使用:%([^%]+)%
。它捕获整个%blahBlah%
序列,以后可以用相关信息替换。这样可以确保%%
之间没有任何区别。
如果我们认为%blahBlah%
是正确的变量名,则正则表达式应如下所示:
%([_a-zA-Z]+[_a-zA-Z0-9]*)%
的含义:下划线,大写和小写字母和数字的任意序列,其中第一个字符不是数字。