RegexUtils.smali
.class public Lim/tpelyyftgw/messenger/utils/RegexUtils;
.super Ljava/lang/Object;
.source "RegexUtils.java"
# static fields
.field private static ptUrl:Ljava/util/regex/Pattern; = null
.field private static final urlStr:Ljava/lang/String; = "(((https|http)?://)?([a-z0-9]+[.])|(www.))\\w+[.|\\/]([a-z0-9]{0,})?[[.]([a-z0-9]{0,})]+((/[\\S&&[^,;\u4e00-\u9fa5]]+)+)?([.][a-z0-9]{0,}+|/?)"
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 20
const-string v0, "(((https|http)?://)?([a-z0-9]+[.])|(www.))\\w+[.|\\/]([a-z0-9]{0,})?[[.]([a-z0-9]{0,})]+((/[\\S&&[^,;\u4e00-\u9fa5]]+)+)?([.][a-z0-9]{0,}+|/?)"
invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v0
sput-object v0, Lim/tpelyyftgw/messenger/utils/RegexUtils;->ptUrl:Ljava/util/regex/Pattern;
return-void
.end method
.method public constructor <init>()V
.registers 1
.line 16
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static firstLetterIsEnglishLetter(Ljava/lang/CharSequence;)Z
.registers 4
.param p0, "chars" # Ljava/lang/CharSequence;
.line 28
const/4 v0, 0x0
if-eqz p0, :cond_2d
invoke-interface {p0}, Ljava/lang/CharSequence;->length()I
move-result v1
if-lez v1, :cond_2d
.line 29
const-string v1, "([a-zA-Z])"
invoke-static {v1}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v1
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-interface {p0, v0}, Ljava/lang/CharSequence;->charAt(I)C
move-result v0
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
const-string v0, ""
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v0
invoke-virtual {v0}, Ljava/util/regex/Matcher;->matches()Z
move-result v0
return v0
.line 31
:cond_2d
return v0
.end method
.method public static hasLetterAndNumber(Ljava/lang/CharSequence;Z)Z
.registers 6
.param p0, "str" # Ljava/lang/CharSequence;
.param p1, "allowUnderLine" # Z
.line 38
const/4 v0, 0x0
.line 39
.local v0, "hasDigit":Z
const/4 v1, 0x0
.line 40
.local v1, "hasLetter":Z
const/4 v2, 0x0
.local v2, "i":I
:goto_3
invoke-interface {p0}, Ljava/lang/CharSequence;->length()I
move-result v3
if-ge v2, v3, :cond_2b
.line 41
if-nez v0, :cond_16
invoke-interface {p0, v2}, Ljava/lang/CharSequence;->charAt(I)C
move-result v3
invoke-static {v3}, Ljava/lang/Character;->isDigit(C)Z
move-result v3
if-eqz v3, :cond_16
.line 42
const/4 v0, 0x1
.line 44
:cond_16
if-nez v1, :cond_23
invoke-interface {p0, v2}, Ljava/lang/CharSequence;->charAt(I)C
move-result v3
invoke-static {v3}, Ljava/lang/Character;->isLetter(C)Z
move-result v3
if-eqz v3, :cond_23
.line 45
const/4 v1, 0x1
.line 47
:cond_23
if-eqz v0, :cond_28
if-eqz v1, :cond_28
.line 48
goto :goto_2b
.line 40
:cond_28
add-int/lit8 v2, v2, 0x1
goto :goto_3
.line 51
.end local v2 # "i":I
:cond_2b
:goto_2b
if-eqz p1, :cond_30
const-string v2, "^[a-zA-Z0-9_]+$"
goto :goto_32
:cond_30
const-string v2, "^[a-zA-Z0-9]+$"
:goto_32
invoke-static {v2, p0}, Ljava/util/regex/Pattern;->matches(Ljava/lang/String;Ljava/lang/CharSequence;)Z
move-result v2
.line 52
.local v2, "isMatches":Z
if-eqz v0, :cond_3e
if-eqz v1, :cond_3e
if-eqz v2, :cond_3e
const/4 v3, 0x1
goto :goto_3f
:cond_3e
const/4 v3, 0x0
:goto_3f
return v3
.end method
.method public static hasLink(Ljava/lang/String;)Z
.registers 5
.param p0, "str" # Ljava/lang/String;
.line 57
const/4 v0, 0x0
if-nez p0, :cond_4
.line 58
return v0
.line 59
:cond_4
sget-object v1, Lim/tpelyyftgw/messenger/utils/RegexUtils;->ptUrl:Ljava/util/regex/Pattern;
invoke-virtual {v1, p0}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v1
.line 60
.local v1, "m":Ljava/util/regex/Matcher;
const/4 v2, 0x0
.line 61
.local v2, "count":I
:goto_b
invoke-virtual {v1}, Ljava/util/regex/Matcher;->find()Z
move-result v3
if-eqz v3, :cond_14
.line 62
add-int/lit8 v2, v2, 0x1
goto :goto_b
.line 64
:cond_14
if-eqz v2, :cond_17
const/4 v0, 0x1
:cond_17
return v0
.end method