首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >basic4android - regex与url匹配

basic4android - regex与url匹配
EN

Stack Overflow用户
提问于 2017-09-22 22:59:07
回答 2查看 545关注 0票数 0

我有下面的regex模式来测试一个url,它可以很好地与所有在线regex测试人员一起工作,包括b4a的原始regex测试器(ws/index.html),但不是在代码中!!

代码语言:javascript
复制
 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://电报。me (+像'myChannel‘这样没有诅咒空格的东西,它只是栈的编辑器,不允许tg链接,所以如果你想检查删除空格)

总是在所有表单上返回false

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-09-22 23:35:13

选项1

使用

代码语言:javascript
复制
matcher1 = Regex.Matcher(Url,Pattern,RegexOptions.IgnoreCase)

选项2

使用

代码语言:javascript
复制
Dim Pattern As String=$"^(https:\/\/t\.me\/|https:\/\/telegram\.me\/)[a-zA-Z0-9_]{3,15}[a-zA-Z0-9]$"$

而不是

代码语言:javascript
复制
Dim Pattern As String=$"^(https:\/\/t\.me\/|https:\/\/telegram\.me\/)[a-z0-9_]{3,15}[a-z0-9]$"$

我希望这两个解决方案都是不言自明的!

编辑

在OP接受了答案之后,只做了一点解释。LineBegin ^LineEnd $标识符只有在MULTILINE模式下才能识别,否则将被忽略。

票数 0
EN

Stack Overflow用户

发布于 2017-09-23 08:35:12

tnx @bulbus任何可能面临这一问题的人的解决办法是:

代码语言:javascript
复制
 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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46374253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档