gpt4 book ai didi

regex - 如果字符串中的任何内容与模式检查的内容不同,则正则表达式返回 false

转载 作者:行者123 更新时间:2023-12-04 21:51:09 25 4
gpt4 key购买 nike

我正在尝试创建一个模式,如果字符串中除了模式检查的内容之外的任何内容,它将返回 false。

我相信这应该通过将整个模式放在“^”和“$”之间来实现。

Sub Macro1()
Dim cellValue As String
cellValue = "7:11 AM NBR Unavail"

Dim callPattern As String
callPattern = "^[1]{0,1}[1-9][:][0-9]{2}[ ]AM|PM$"

Dim regEx As New RegExp

With regEx
.IgnoreCase = False
.Pattern = callPattern
End With

If regEx.Test(cellValue) Then
MsgBox ("Got it!")
Else
MsgBox ("Don't got it...")
End If
End Sub

变量 cellValue 在模式检查的 AM|PM 之后有文本,但是当我运行它时,我仍然得到“知道了!”信息。

我之前尝试了以下字符串和模式,最后的“$”按预期工作。为什么它不能与上面的代码一起工作?
cellValue = "7:11 PM (555) 444-3333"
callPattern = "^[1]{0,1}[1-9][:][0-9]{2}[ ]AM|PM[ ][(][0-9]{3}[)][ ][0-9]{3}[-][0-9]{4}$"

最佳答案

我认为您必须在 AM|PM 之间加上括号,如下所示。callPattern = "^[1]{0,1}[1-9][:][0-9]{2}[ ](AM|PM)$"
你的模式意味着
^[1]{0,1}[1-9][:][0-9]{2}[ ]AM”或“PM$

第二种模式也意味着
^[1]{0,1}[1-9][:][0-9]{2}[ ]AM”或“PM[ ][(][0-9]{3}[)][ ][0-9]{3}[-][0-9]{4}$

关于regex - 如果字符串中的任何内容与模式检查的内容不同,则正则表达式返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53862037/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com