我有以下正则表达式模式用于测试网址,它适用于所有在线正则表达式测试人员,包括b4a的原始正则表达式测试器(https://b4x.com:51041/regex_ws/index.html),但不在代码中!
Sub Validate(Url As String)As String
Dim Pattern As String=$"^(https:\/\/t\.me\/|https:\/\/telegram\.me\/)[a-z0-9_]{3,15}[a-z0-9]$"$
Dim matcher1 As Matcher
matcher1 = Regex.Matcher(Url,Pattern)
Return matcher1.Find
End Sub
我的网址是
Https://电报。我(+类似于' myChannel'没有任何空间,它只是堆栈的编辑器,不允许tg链接,所以如果你想检查删除空格)
总是以所有形式返回false
答案 0 :(得分:1)
Sub Validate(Url As String)As String
Dim Pattern As String=$"^(https:\/\/t\.me\/|https:\/\/telegram\.me\/)[a-zA-Z0-9_]{3,15}[a-zA-Z0-9]$"$
Dim matcher1 As Matcher
matcher1= Regex.Matcher2(Pattern,Regex.MULTILINE,Url)
Return matcher1.Find
End Sub
答案 1 :(得分:0)
选项1
使用
import argparse
def nullable_float(str):
if str == "":
return None
else:
return float(str)
parser = argparse.ArgumentParser()
parser.add_argument('-foo', type = nullable_float, nargs = '*')
args = parser.parse_args()
选项2
使用
matcher1 = Regex.Matcher(Url,Pattern,RegexOptions.IgnoreCase)
而不是
Dim Pattern As String=$"^(https:\/\/t\.me\/|https:\/\/telegram\.me\/)[a-zA-Z0-9_]{3,15}[a-zA-Z0-9]$"$
我希望这两种解决方案都能自我解释!
修改强>
OP接受答案后,只是一点点解释。Dim Pattern As String=$"^(https:\/\/t\.me\/|https:\/\/telegram\.me\/)[a-z0-9_]{3,15}[a-z0-9]$"$
和LineBegin ^
标识符仅在LineEnd $
模式下被识别,否则将被忽略。