Articles of 正则expression式

Java和Android的正则expression式差异

美好的一天! 我有一个正则expression式模式: Pattern p = Pattern.compile("^[a-zA-Z_\\$][\\w\\$]*(?:\\.[a-zA-Z_\\$][\\w\\$]*)*$"); 它应该告诉我,如果Java / Android包名称是合法的或不。 它在桌面Java工作正常,但它在Android设备上的失败 可以说我有一些包名: ". .", "ПАвыапЫВАПыва", "com.mxtech.ffmpeg.v7_neon", … testing应该显示唯一有效的包是“com.mxtech.ffmpeg.v7_neon”,但是也显示testingstring " _ПАвыапЫВАПыва\_ " 已validation。 为什么? (这是西里尔文。) Android和桌面实现有什么区别?

用于确定Android中的信用卡的正则expression式

对于正则expression式我真的很陌生,但我认为我的问题现在可能会超越这个问题。 正如标题所说,我试图确定信用卡是否是签证,美国运通,主卡等。 我看了这个post,给出了每种卡types的正则expression式: 如何根据数字检测信用卡types? 这是我然后使用的代码,但它什么也没有做: etCCNum.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { Log.d("DEBUG", "beforeTextChanged : "+s); } @Override public void afterTextChanged(Editable s) { Pattern pattern = Pattern.compile("^6(?:011|5[0-9]{2})[0-9]{3,}$"); Log.d("DEBUG", "afterTextChanged : "+s); String ccNum = […]

正则expression式只能删除数字之间的空格

我需要删除数字之间的空格,以便像这样的string: "Hello 111 222 333 World!" 变 "Hello 111222333 World!" 我试过这个: message = message.replaceAll("[\\d+](\\s+)[\\d+]", ""); 似乎没有把它完成。

如何在android中为此创build正则expression式?

假设我有这样一个string: string = "Manoj Kumar Kashyap"; 现在我想创build一个正则expression式来匹配Ka出现在空格之后的位置,并且还想获得匹配字符的索引。 我正在使用Java语言。

正则expression式validationPAN卡号

我已经看到了这个问题 , 这个博客的PAN正则expression式。 [AZ]{5}[0-9]{4}[AZ]{1} 。 但是我的问题比这个扩大了一点点。 在PAN卡号码中: 1) The first three letters are sequence of alphabets from AAA to zzz 2) The fourth character informs about the type of holder of the Card. Each assesse is unique:` C — Company P — Person H — HUF(Hindu Undivided Family) F — Firm A — Association of […]

如何在Sqlite Android中实现字边界?

我想实现以下(全文search), SELECT * FROM tablename where columnname REGEXP '[[:<:]]some string[[:>:]]' 在哪里我只感兴趣的全文字段中的确切string(不只是单词)。 我一直在使用MySQL中的确切SQL,现在将大部分代码移植到android应用程序中。 但是我一直在寻找各种各样的post,提到在Android Sqlite中不支持REGEXP(例如: link1 , link2 , link3 )。 有没有办法在Android中启用REGEXP? 如果没有上述SQL的任何替代品? 谢谢, 编辑:目前,我在Android中使用REGEXP时收到以下exception, android.database.sqlite.SQLiteException: no such function: REGEXP (code 1):… 我明白我们可以使用GLOB和LIKE(或者甚至可以是MATCH)。 如何转换columnname REGEXP '[[:<:]]somestring[[:>:]]'以使用GLOB和/或LIKE和/或MATCH ? 解决scheme1 : @cybersam的帮助下面是我正在使用(经过一些修改) SELECT * FROM tablename where (columnname GLOB '*some string*' OR columnname GLOB '*Some string*') AND ( […]

Android的c2dm注册ID格式

我怀疑发布之后我会感到非常蠢,但​​是在这里。 我有两个主要问题: 1)什么是适当的正则expression式用于注册ID? 目前我有以下,但我一直没能find任何文件来支持这是否足够: '/^[a-z0-9_-]{40,255}$/i' 2)REGID是否包含“ – ”是“有效的”? 我知道android不能担心每种语言(在这种情况下,mysql)使用什么语言来发表评论等等,但是这让我有些不屑一顾。 到目前为止,我一直在使用杀毒软件(s),因为有可能被用于SQL注入。

如何从电话号码中删除“+”和国家代码?

我正在使用以下API来获取电话号码; 但是,一些设备将按照以下格式返回数字: “+”+国家代码+电话号码 12062436969 TelephonyManager tm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE); String phoneNumber = tm.getLine1Number(); 我想找出一个方法/algorithm来删除这个“+”号和国家代码,所以我只会得到最后十位数。 防爆。 +12062436969 – > 2062436969 我相信我只需要最后十位数字。 任何人都可以请build议任何想法?

Jsoup获取元素值=“”

我想在一个HTML文件中find元素“buddyname”,并获取value =“”的元素,我把它放到一个StringBuffer中,在这种情况下是5342test。 value =“”中的元素可以改变,所以我不能直接search5342test。 <fieldset style="display:none"><input type="hidden" name="buddyname" value="5342test"/></fieldset> 我怎样才能做到这一点与jsoup? 或者是有一个更简单的方法,我已经尝试过模式/匹配,但没有解决,因为我有问题的Pattern.compile("<input[^>]*?value\\s*?=\\s*?\\\"(.*?)\\\")"); 下面是一些示例代码。 先谢谢你。 Document doc = Jsoup.parse(page); // page is a StringBuffer Elements td = doc.select("fieldset"); for (Element td : tds) { String tdText = td.text(); System.out.println(tdText); }

使用AndroidManifest中的http://example.com/something与<data>匹配URI

我正在使用AndroidManifest.xml文件中的<data>元素来使我的URI匹配工作。 我想匹配以下URI: http://example.com/something http://example.com/foo http://example.com/foo/ 但不是 http://example.com http://example.com/ http://example.com/something/else 我主要是与它合作 <data android:scheme="http" android:host="example.com" android:pathPattern="/..*" /> <data android:pathPattern="/..*/" /> 但它仍然匹配http://example.com/something/else 。 我怎样才能排除这些?