正规式是一种表示正规集的工具,正规式是描述程序语言单词的表达式,对于字母表Σ。
正规式(正规表达式)的运算符有3个,优化级从高到低顺序排列为:*(闭包)、·(连接,可省略)、|(或)。
正规式 → 正规集
ab → 字符串ab构成的集合
a|b → 字符串a、b构成的集合
a* → 由0个或多个a构成的字符串集合
(a|b)* → 所有字符a和b构成的串的集合
a(a|b)* → 以a为首字符的a、b字符串的集合
(a|b)*abb → 以abb结尾的a、b字符串的集合
有限自动机可以转换为正规式,正规式也可以转换为有限自动机。
词法分析器的构造步骤:
1)用正规式描述语言中的单词构成规则。
2)为每个正规式构造一个NFA,它识别正规式所表示的正规集。
3)将构造出的NFA转换成等价的DFA。
4)对DFA进行最小化处理,使其最简。
5)从DFA构造词法分析器。
按照你的要求编写的Java正则表达式程序如下
import java.util.regex.Matcherimport java.util.regex.Pattern
public class A {
public static void main(String[] args) {
String s="1.3232"
String regex="^[1-9]?[0-9](
\\.[0-9]{1,4})?$
"
Pattern p = Pattern.compile(regex)
Matcher m = p.matcher(s)
if(m.matches()){
System.out.println("匹配")
}else{
System.out.println("不匹配")
}
}
}
运行结果
匹配
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)