我是新手,VB中 10:26 AM 的正则表达式模式是什么,而不是时间,需要固定时间模式。请帮忙。
答案 0 :(得分:3)
所有字符串 也是有效的正则表达式(一旦你转义了正在使用的正则表达方言中具有特殊含义的任何字符)。因此,如果您想使用正则表达式搜索固定字符串,只需使用该固定字符串。
特别是,您的固定时间输入不包含任何特殊字符,因此我们甚至不需要转义它:
"10: 26 AM"
说真的,就是这样。它是一个有效的正则表达式,与您的字符串完全匹配,没有别的。 然而,如果您只是要匹配一个固定的字符串,根本不需要使用正则表达式,并且使用正常的字符串搜索可能会稍快一些(但不一定是案件!)。 VBScript has the InStr
function为此:
str = "I came home at 10: 26 AM and made lunch."
position = InStr("10: 26 AM", str)
也许你想忽略输入中的空格(或允许它们在任意位置)。在这种情况下,您可以在相关位置插入\s*
- 这将匹配该位置的任意数量的空格(零或更多)。您修改后的表达式如下:
"10\s*:\s*26\s*AM"
最后,也许你想确保文本不包含其他任何,而只是时间。在这种情况下,您可以使用begin(^
)和end($
)锚点来确保只有在字符串周围没有其他文本时才匹配该字符串:
"^\s*10\s*:\s*26\s*AM\s*$"
(但我们再一次允许文本在空格之前和之后。如果不允许,可能要删除它。)
答案 1 :(得分:2)
要匹配给定的时间格式(上午10点26分),您可以使用:
(0?[1-9]|1[012])(: [0-5]\d) (AM|PM)
Fyi,结肠后有空格......