我已经使用Google搜索组织名称的RegExp,但我没有找到任何结果。
以下是条件:
我写了以下正则表达式:
<?xml version="1.0" encoding="utf-8"?>
<TableLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:padding="10dp"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TableRow>
<TextView
android:textSize="20sp"
android:textStyle="bold"
android:padding="5dp"
android:id="@+id/posicao"
android:layout_width="50dp"
android:layout_height="50dp" />
<TextView
android:textStyle="italic"
android:textSize="20sp"
android:padding="5dp"
android:id="@+id/trechos"
android:layout_width="match_parent"
android:layout_height="50dp" />
</TableRow>
</TableLayout>
以上内容不适用于组织名称“ I-Tech software pvt ltd ”。请建议一个更好的正则表达式。
答案 0 :(得分:0)
那是因为I-Tech software pvt ltd
与你的正则表达式不匹配。 I-Tech software pvt ltd
中的空格之间有符号,但正则表达式不允许这样做。
我认为您正在寻找的解决方案可能是这样的:
/^([a-zA-Z][-\w!@\s]*)$/
我没有测试过这个,但我希望你明白这个想法。
答案 1 :(得分:-1)
您可以使用前瞻断言作为您尝试匹配的字符串中的条件:
/^(?=(?:\w*)[A-Za-z]+)(?=(?:\w*)[!@_-]+)(?=(?:\w*)\d*).+$/
(?=(?:\w*)[A-Za-z]+)
是第一个预测,要求匹配应包含至少一个字母,换句话说,就像你声明&#34;不接受特殊字符或仅接受数字字符。&#34; < / p>
(?=(?:\w*)[!@_-]+)
是第二个前瞻,声明应该有0个或更多特殊字符。我不认为这是必要的,因为在之前的预测中,它至少需要一个字母。
(?=(?:\w*)\d*)
是第三个预测,说明应该有零个或多个数字。同样,可能没有必要,但要在你的问题中说明你的要求。
最后,实际匹配的字符串是.+
,这意味着您正在测试的字段中必须至少存在一个字符。 ^
和$
字符表示检查整个字符串。希望有所帮助。