regex 通配符转换为时间的正则表达式

xxhby3vn  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(115)

因此,我一直在寻找正确的语法捕捉特定类型的字符串在Word中有麻烦.我已经找出了正则表达式,但符号是不同的Outlook/Word中,它似乎像*是不是我想要的方式运作.任何人都可以帮助与以下表达式的正则表达式版本?它是可能的使用RegEx搜索在Outlook/Word中通过它而不是在通配符中使用的符号?
时间,例如9:5410:23,有或没有ama.m.AMA.M.pmp.m.PMP.M.

\d{1,2}[:]\d{2}\ ?([aAPp].?[Mm].?)?

字符串
我想把上面的正则表达式转换成与Outlook中的搜索引擎兼容。所以当我创建查找和替换宏时,我可以使用搜索引擎表达式来捕获该字符串并将其格式化为我想要的任何格式。

pengsaosao

pengsaosao1#

尝试以下 * 匹配模式 。这也将匹配 “Am”“pM”* 等。

(?i)\d\d?:\d\d(?: (?:[ap]\.?m\.?))?

字符串

  • (?i),切换到 “不区分大小写” 模式
  • \d\d?,匹配任意数字,可选后接另一个数字
  • :,匹配文字:字符
  • \d\d,匹配任意2个连续数字
  • (?: (?:[ap]\.?m\.?))?,匹配可选的后续静态文本“a.m."、“pm”等。

或者,要仅匹配小时和分钟,请指定每个值。
除了定义了\d\d?:\d\d模式之外,这与上面的相同。

(?i)(?:[1-9]|1[0-2]):(?:[0-5]\d)(?: (?:[ap]\.?m\.?))?

相关问题