本文,我们将来看一下几个可以用英文单词表达的正则表达式。这些可以使用的英文关键词,可以在类java.util.regex.Pattern找到,如下:
public final class Pattern
implements java.io.Serializable
{ // Posix regular expression character classes, defined in
// http://www.unix.org/onlinepubs/009695399/basedefs/xbd_chap09.html
defRange( "ASCII" , 0x00 , 0x7F ); // ASCII
defCtype( "Alnum" , ASCII.ALNUM); // Alphanumeric characters
defCtype( "Alpha" , ASCII.ALPHA); // Alphabetic characters
defCtype( "Blank" , ASCII.BLANK); // Space and tab characters
defCtype( "Cntrl" , ASCII.CNTRL); // Control characters
defRange( "Digit" , '0' , '9' ); // Numeric characters
defCtype( "Graph" , ASCII.GRAPH); // printable and visible
defRange( "Lower" , 'a' , 'z' ); // Lower-case alphabetic
defRange( "Print" , 0x20 , 0x7E ); // Printable characters
defCtype( "Punct" , ASCII.PUNCT); // Punctuation characters
defCtype( "Space" , ASCII.SPACE); // Space characters
defRange( "Upper" , 'A' , 'Z' ); // Upper-case alphabetic
defCtype( "XDigit" ,ASCII.XDIGIT); // hexadecimal digits
} |
下面我们就来看几个例子吧.
判断一个字符串是否只包含字母
我们可以使用的正则表达式是^\\p{Alpha}+$
public class RegularExpressionExample {
public static void main(String[] args) {
String asciiRegex = "^\\p{Alpha}+$" ;
System.out.println( "QWEabgjgjagdg" .matches(asciiRegex)); // true
System.out.println( "Hello Java" .matches(asciiRegex)); // false
System.out.println( "$abc123" .matches(asciiRegex)); // false
}
} |
判断一个字符串是否只包含0到127的ASCII
我们可以使用的正则表达式是^\\p{ASCII}+$
public class RegularExpressionExample {
public static void main(String[] args) {
// 使用^\\p{ASCII}+$判断一个字符串是否只包含0到127的ASCII
String asciiRegex = "^\\p{ASCII}+$" ;
System.out.println( "@#$%^&QWERTTYYzcssdfsd1233534 234242"
.matches(asciiRegex)); // true
System.out.println( "Hello Java ¥" .matches(asciiRegex)); // false
}
} |
判断一个字符串是否只包含数字
我们可以使用的正则表达式是^\\p{Digit}+$
public class RegularExpressionExample {
public static void main(String[] args) {
String asciiRegex = "^\\p{Digit}+$" ;
System.out.println( "123" .matches(asciiRegex)); // true
System.out.println( "Hello Java" .matches(asciiRegex)); // false
System.out.println( "$abc123" .matches(asciiRegex)); // false
}
} |
判断一个字符串是否只包含小写字母
我们可以使用的正则表达式是^\\p{Lower}+$
public class RegularExpressionExample {
public static void main(String[] args) {
String asciiRegex = "^\\p{Lower}+$" ;
System.out.println( "abc" .matches(asciiRegex)); // true
System.out.println( "HelloJava" .matches(asciiRegex)); // false
System.out.println( "$abc" .matches(asciiRegex)); // false
}
} |
判断一个字符串是否只包含大写字母
我们可以使用的正则表达式是^\\p{Upper}+$
public class RegularExpressionExample {
public static void main(String[] args) {
String asciiRegex = "^\\p{Upper}+$" ;
System.out.println( "ABC" .matches(asciiRegex)); // true
System.out.println( "HelloJava" .matches(asciiRegex)); // false
System.out.println( "$abc" .matches(asciiRegex)); // false
}
} |
判断一个字符串是否只包含空格
我们可以使用的正则表达式是^\\p{Space}+$
public class RegularExpressionExample {
public static void main(String[] args) {
String asciiRegex = "^\\p{Space}+$" ;
System.out.println( " " .matches(asciiRegex)); // true
System.out.println( "JAVA JAVA" .matches(asciiRegex)); // false
System.out.println( " $ B" .matches(asciiRegex)); // false
}
} |
判断一个字符串是否只包含标点符号
我们可以使用的正则表达式是^\\p{Punct}+$
public class RegularExpressionExample {
public static void main(String[] args) {
String asciiRegex = "^\\p{Punct}+$" ;
System.out.println( ".,!" .matches(asciiRegex)); // true
System.out.println( ".,q" .matches(asciiRegex)); // false
System.out.println( " ," .matches(asciiRegex)); // false
}
} |
判断一个字符串是否只包数字和字母
我们可以使用的正则表达式是^\\p{Alnum}+$
public class RegularExpressionExample {
public class RegularExpressionExample {
public static void main(String[] args) {
String asciiRegex = "^\\p{Alnum}+$" ;
System.out.println( "QWE123456" .matches(asciiRegex)); // true
System.out.println( "Hello Java" .matches(asciiRegex)); // false
System.out.println( "$abc123" .matches(asciiRegex)); // false
}
} |
其余的几个有兴趣的朋友可以去尝试一下,这里就不再一一介绍了。
原文地址:http://thecodesample.com/?p=981
更多例子请访问http://thecodesample.com/
相关推荐
在数据库查询中使用正则表达式可以显著提高查询的灵活性和效率。具体应用场景包括但不限于: 1. **模糊查询**:通过正则表达式匹配相似的文本,如查询包含特定单词或短语的记录。 ```sql SELECT * FROM articles ...
在.NET框架中,正则表达式相关的功能主要由几个核心类实现: 1. **Regex 类**:表示只读正则表达式,提供了一系列静态方法,允许开发者在不显式实例化其他类的情况下使用正则表达式。例如,创建一个简单的正则...
本文将对正则表达式的几个关键概念进行详细解析,包括元字符、字符类、量词以及边界匹配等,旨在帮助初学者理解并掌握正则表达式的使用。 #### 1. 元字符及其用法 - **点号“.”**:代表任意单个字符,除了换行符...
- `\b`:单词边界,匹配一个单词的开始或结束。 - `\B`:非单词边界,匹配非单词的位置。 - `\d`:数字(等同于 `[0-9]`)。 - `\D`:非数字(等同于 `[^0-9]`)。 - `\s`:空白字符(包括空格、制表符、换行符...
正则表达式的核心概念包括以下几个方面: 1. **元字符**:这些特殊的字符具有特殊的含义,如`.`代表任意单个字符,`^`表示行首,`$`表示行尾,`\d`代表数字,`\w`代表字母或数字等。 2. **量词**:用来指定匹配...
在正则表达式中括号具有几种作用.它的主要作用是把单独的项目分组 成子表达式,以便可以像处理一个独立的单元那种用 *、+或? 来处理那些项目.例如: /java(script) ?/ 匹配的是字符串 "java",其后既可以有 "script",...
- **简化代码**:使用正则表达式可以极大地简化代码,例如在验证电子邮件地址的有效性时,传统的编程方法可能需要十几行代码,而使用正则表达式只需几行即可完成。 - **提高效率**:对于大量的文本处理任务,使用...
例如,你可以使用`Pattern.compile()`方法编译正则表达式,然后用`Matcher.find()`或`Matcher.matches()`来查找匹配的字符串。 在没有内置正则表达式支持的JDK版本中,Apache的Jakarta-ORO库提供了一种解决方案。...
快速入门正则表达式,你需要掌握以下几个核心概念: 1. **基本元素**: - 字符匹配:包括字母、数字、空格等基本字符。 - 位置匹配:如`^`表示行首,`$`表示行尾,`\b`表示单词边界。 - 量词:`*`表示零或多个,...
通过以上几个经典实例,我们不仅了解了如何构建基本的正则表达式,还学会了如何利用这些表达式来解决实际问题。正则表达式是处理文本数据时不可或缺的工具之一,掌握其使用方法对于程序员来说至关重要。
在C++中,使用 `<regex>` 库,你可以创建一个`std::regex`对象,用以编译正则表达式模式,然后使用`std::regex_match`或`std::regex_search`进行匹配,`std::regex_replace`进行替换。例如: ```cpp #include #...
在使用这些工具时,了解和掌握正则表达式的规则对于准确表达用户的意图非常重要。用户可以通过练习不同的正则表达式模式,来加深对规则的理解并提高处理文本数据的效率。对于遇到的疑问,用户也可以查阅相关文档或向...
零宽断言是正则表达式的一种断言方法,用来表达一个位置是否存在一个符合特定模式的字符串。它包括正向预查和负向预查,还可以分为向前(lookahead)和向后(lookbehind)两种断言。 在JavaScript中,只支持正向预...
以下是几种在VS2005中常用的正则表达式及其详细解释: 1. **基本字符匹配** - `.`:匹配任何单个非换行符。在VS2005中,你可以用这个符号来查找任何字符。 - `\d`:等价于`[0-9]`,匹配任意数字。 - `\D`:匹配...
在Python开发中,`regex`库的使用通常涉及到以下几个步骤: 1. 导入库:在你的Python脚本开头添加`import regex`。 2. 创建正则表达式模式:使用`regex.compile()`函数创建一个`Pattern`对象,如`pattern = regex....
例如,你可以使用编程语言中的函数来提取特定单词(如“love”),检查字符串是否包含特定子串,或者将多种表达爱意的短语转换为统一格式。 在处理字符串时,我们通常会使用各种编程语言提供的库和方法。例如,在...
为了实现这个功能,开发者可能会使用正则表达式来匹配和提取英文单词,然后利用JavaScript的数据处理能力进行替换操作。考虑到兼容性问题,库可能还会处理不同设备和浏览器对emoji的支持差异,比如使用Unicode编码或...
中文自动分词的困难主要体现在以下几个方面: 1. **歧义问题**:中文词语边界模糊,如"北京站"既可以指"北京火车站"也可以指"北京电视台"。 2. **新词发现**:随着社会发展,新的词汇不断涌现,如网络用语、专业术语...
3. **正则表达式**:虽然正则表达式在处理大量敏感词时效率较低,但其灵活性和表达能力强,适用于小规模的敏感词过滤。 4. **位运算**:利用位运算的高效性,将每个敏感词映射为一个二进制数,通过位运算快速判断...
Cypher 的构念是基于英语单词和灵巧的图解,通过一系列不同的方法和建立于确定的实践为表达查询而激发的。许多关键字如 like 和 order by 是受 SQL 的启发。模式匹配的表达式来自于 SPARQL。正则表达式匹配实现实用 ...