\b 匹配一个单词边界,也就是指单词和空格间的位置(即正则表达式的“匹配”有两种概念,一种是匹配字符,一种是匹配位置,这里的\b就是匹配位置的)。...\g 表示正则表达式使用的global(全局)的状态。使用 global 标志表明在被查找的字符串中搜索操作将查找所有符合的项,而不仅仅是第一个。 \n 匹配一个换行符。等价于\x0a和\cJ。...例如正则表达式\能够匹配字符串”for the wise”中的”the”,但是不能匹配字符串”otherwise”中的”the”。注意:这个元字符不是所有的软件都支持的。...注意:这个元字符不是所有的软件都支持的。 + 匹配1或多个正好在它之前的那个字符。例如正则表达式9+匹配9、99、999等。注意:这个元字符不是所有的软件都支持的。 ?...例如正则表达式A[0-9]{3} 能够匹配字符”A”后面跟着正好3个数字字符的串,例如A123、A348等,但是不匹配A1234。
Antlr4规则文法: 注释:和Java的注释完全一致,也可参考C的注释,只是增加了JavaDoc类型的注释; 标志符:参考Java或者C的标志符命名规范,针对Lexer 部分的 Token 名的定义,...Antlr4语法文件中; Antlr4语法中,支持的关键字有:import, fragment, lexer, parser, grammar, returns, locals, throws, catch...基于IDEA调试Antlr4语法一般步骤: 1) 创建一个调试工程,并创建一个g4文件 这里,我自己测试用Java开发,所以创建的是一个Maven工程,g4文件放在了src/main/resources...Maven Antlr4插件自动生成(针对Java工程,也可以用于Gradle) 此处使用第一种方式 访问者模式遍历Antlr4语法树 java -jar /usr/local/lib/antlr-4.7.2...的东西,包括最后的toResult(parser)也是调用访问者模式的类去遍历语法树来生成Logical Plan spark提供了一个.g4文件,编译的时候会使用Antlr根据这个.g4生成对应的词法分析类和语法分析类
二、antlr使用 2.1Antlr是什么 antlr是java实现的编译工程,历经20多年发展,目前是4.7版本。...虽然是java实现的编译工具,但是antlr支持生成cpp、java、python、c#等的解析运行库,可以当做多种语言的解析工具用。...2.2安装antlr 2.2.1 安装依赖java环境 在安装好的java环境,需要把官网下载的包antlr-4.7.2-complete.jar放在某个文件路径下,并把这个路径加到CLASS_PATH...:/usr/local/lib/antlr-4.7.2-complete.jar 2.3使用antlr 设置antlr4的快捷命令: antlr4='java -jar /usr/local/lib/antlr.../Bbcode.g4 -o antlr4-bbcode -Dlangguage是生成Cpp,如果不指定,默认是java -visitor额外生成vistor模式访问的工具代码,没有指定默认是listener
list) #set(idx = 注:jQuery 的 .ajax() 之类的代码会导致 Velocity 解析异常,好在 Javascript 语法的灵活性,可以增加无效空白 .ajax()...#set(arr = [0, 1, 2, 3])arr.get(2) 注:Velocity 中的数组对应 Java 中的 List 对象。...对于 Java 原生 Array 对象, 只能够 #foreach 进行遍历,无法使用 arr[0] 和 arr.get(0) 方法。...中元素的定义顺序 (据目前所知,是根据键的字母排序的)。...Tips Velocity 在表单中添加 name=”action” 的文本/隐藏域,可以调用对应 Java 类 (submit 按钮的 name 则指定对应的方法名称,如 event_submit_do_save
分配给element的值是一个java对象,并且可以通过变量被引用。...将解析其中的velocity语法并移交给模板,意思就是说相当与把引入的文件copy到文件中。...(注意:这里的name与VelocityTest.java中的名称要一致) (2)将velocity模板的内容转换的类(VelocityTest.java) import java.io.File; import...java.io.FileOutputStream; import java.io.PrintWriter; import java.io.Writer; import org.apache.velocity.Template...; import java.io.FileNotFoundException; import java.util.ArrayList; import java.util.Properties; import
python 正则表达式的语法及使用 概念: 按照程序员的指示,字符串里提取你要的数据。 应用: 爬虫清洗数据,匹配电话,匹配邮箱,匹配账号…… 最重要的就是(.*?)...正则语法(元字符) 1、?:前面的内容出现0-1次 2、+ :前面的内容出现1-多次 3、* : 前面的内容出现0-多次 ‘’’ 正则(Regular): 记住的点: 1、(.?)...的是后,一定要复制,而不是手敲! ‘’’ import re ‘’’ 正则语法(普通字符): 直接写的内容就是普通匹配!...空格 杂七杂八的东西 ‘’’ str = r’小姐姐喜欢Python, 小妹妹喜欢Java, C++’ data = re.findall(r’(Python|Java)’, str) print(...‘’’ str = ‘hello \r \n \t word’ data = re.findall(r’\s+’, str) print(data) ‘’’ 正则语法(元字符):要求一个正则表达式匹配两句话
正则表达式,名字听上去就没有吸引力,我发现很多前端对正则表达式都很难做到如数家珍,每次能够运行全凭运气正则表达式语法,更有甚者完全靠复制粘贴,其实这样并不好 正则表达式其实并不难,语法就那么多,而且一旦掌握在某些时候能够给解决问题提供捷径...,更重要的是面试可能会被问到,要是不会那就尴尬了 本文主要介绍正则表达式的语法部分,下面将正则表达式简称为正则 正则是啥? ...正则表达式的语法一般如下(js),两条斜线中间是正则主体,这部分可以有很多字符组成;i部分是修饰符,i的意思表示忽略大小写 /^abc/i 正则定义了很多特殊意义的字符,有名词,量词,谓词等,下面逐一介绍...// 可以匹配 abc ,但是不能匹配 abcc 选择表达式 有时我们想匹配x或者y,如果x和y是单个字符,可以使用字符集,[abc]可以匹配a或b或c,如果x和y是多个字符正则表达式语法,字符集就无能为力了...:ccc)$/ 可以看到工具能够更快的帮我们理清头绪 本文仅讲述了语法,下一篇文章将详细介绍如何在js中使用正则,推荐一下glob,号称给人看的正则,比正则的语法简单多了,也是平时开发的神器 abc
Python的设计哲学强调代码的可读性和简洁的语法(尤其是使用空格缩进划分代码块,而非使用大括号或者关键词)。相比于C++或Java,Python让开发者能够用更少的代码表达想法。...不管是小型还是大型程序,该语言都试图让程序的结构清晰明了。 Java是一种广泛使用的计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。...Java编程语言的风格十分接近C++语言。继承了C++语言面向对象技术的核心,舍弃了容易引起错误的指针,以引用取代;移除了C++中的运算符重载和多重继承特性,用接口取代;增加垃圾回收器功能。...太阳微系统对Java语言的解释是:“Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言”。...那么Python和Java在语法上有什么区别呢,让我们通过几个生动的例子来一探究竟。
方括号中的数字0-9表示只要待匹配的最底层与其中的任何一个字符相同,程序就会认为匹配成功,反之则认为匹配失败 为什么是0-9而不是9-0?因为在ASCAII码中,0的码值较小,9的码值较大。...其实,只要写两遍就好了 [0-9][0-9] 如果要判断用户输入的是Y或者y,只要这样写正则表达式: [Yy] 当允许的字符范围只有一个的时候,可以省略[]。...其实,在正则表达式中,匹配元字符,就是在字符前面加上‘\’。...分组构造 分组构造描述了正则表达式的子表达式,用来捕获字符串的子字符串。就是用括号括起来的 匹配模式 匹配模式是指匹配的时候使用的规则。...用不同的匹配模式可能会改变正则表达式的识别,有可能会改变正则表达式中字符的匹配规定。 1、不区分大小写模式 2、单行模式 也叫做点号通配。会改变‘.’的匹配方式。
二、Java正则表达式语法规则 1.先清晰一个问题—— 转义字符 例如: 在C语言中,“\n”表示换行,同样的Java中我们也可以使用“\n”表示换行。...但是双“\\”则表明要插入正则表达式的反斜线,其后的字符具有特殊含义。所以在 Java 正则表达式中需要有两个反斜杠才能被解析为其他语言中的转义功能。...或者说在 Java 正则表达式中,两个 \\ 代表其他语言中的一个 \,这也就是为什么表示一位数字的正则表达式是 \\d,而表示一个普通的反斜杠是 \\。如下所示。...System.out.print("\\"); // 输出为 \ System.out.print("\\\\"); // 输出为 \\ 2.正则表达式语法 字符 说明 \ 将下一字符标记为特殊字符...因此必须在字符串中使用双反斜线(“\\”)才代表正则表达式,从而不被 Java 字节码编译器解释。
一、标识符和关键字 标识符 在java语言中,用来标志类名、对象名、变量名、方法名、类型名、数组名、包名的有效字符序列,称为“标识符”; 标识符由字母、数字、下划线、美元符号组成,且第一个字符不能是数字...; java语言区分大小写; 标志符命名规则:类名首字母大写,变量名和方法名采用驼峰标志法,常量全大写,多个单词之间用“_”隔开,包名全小写; 关键字 在java语言中,有一些专门的词汇已经被赋予了特殊的含义...(i%0);//除数不能为零,报异常java.lang.ArithmeticException } } 2....(i[5]); //当通过数组下标来获取数组内元素时,[]内的值>=数组长度则报异常java.lang.ArrayIndexOutOfBoundsException(数组下标越界) ...,[]内的值>=数组长度则报异常java.lang.ArrayIndexOutOfBoundsException(数组下标越界) //System.out.println(ii[0][0
1 注释 注释是对代码的解释和说明文字,可以提高程序的可读性,因此在程序中添加必要的注释文字十分重要。Java中的注释分为三种: (1)单行注释。...(以后讲) 充满故事的 城 市 2 关键字 (1)关键字是指被java语言赋予了特殊含义的单词。 (2)关键字的特点: 1)关键字的字母全部小写。...Java是一个强类型语言,Java中的数据必须明确数据类型。...在Java中的数据类型包括基本数据类型和引用数据类型两种。 Java中的基本数据类型: ?...(2)Java中标识符的组成规则: 由字母、数字、下划线“_”、美元符号“$”组成,第一个字符不能是数字。 不能使用java中的关键字作为标识符。
语法糖 在聊之前我们需要先了解一下 语法糖 的概念:语法糖(Syntactic sugar),也叫做糖衣语法,是英国科学家发明的一个术语,通常来说使用语法糖能够增加程序的可读性,从而减少程序代码出错的机会...因为 Java 代码需要运行在 JVM 中, JVM 是并不支持语法糖的,语法糖在程序编译阶段就会被还原成简单的基础语法结构,这个过程就是解语法糖 。...所以在 Java 中,真正支持语法糖的是 Java 编译器,真是换汤不换药,万变不离其宗,关了灯都一样。。。。。。 下面我们就来认识一下 Java 中的这些语法糖 泛型 泛型是一种语法糖。...**枚举只是一个语法糖,在编译完成后就会被编译成一个普通的类,也是用 Class 修饰。这个类继承于 java.lang.Enum,并被 final 关键字修饰** 。...我们反编译看一下 image 我们可以看到,我们明明是使用了 if ...else 语句,但是编译器却只为我们编译了 DEBUG = true 的条件, 所以,Java 语法的条件编译,是通过判断条件为常量的
特殊说明:以上文章,均是我实际操作,写出来的笔记资料,不会盗用别人文章!烦请各位,请勿直接盗用!转载记得标注来源!
基本语法 编写Java程序时,应注意以下几点: 大小写敏感:Java是大小写敏感的,这就意味着标识符Hello与hello是不同的。 类名:对于所有的类来说,类名的首字母应该大写。...当保存文件的时候,你应该使用类名作为文件名保存(切记Java是大小写敏感的),文件名的后缀为.java。(如果文件名和类名不相同则会导致编译错误)。...Java变量 Java中主要有如下几种类型的变量 局部变量 类变量(静态变量) 成员变量(非静态变量) Java数组 数组是储存在堆上的对象,可以保存多个同类型变量。...注释中的字符将被Java编译器忽略。...("Hello World"); } } Java 空行 空白行,或者有注释的的行,Java编译器都会忽略掉。
Java两种循环 List> list = new ArrayList>(); for (int i = 0; i <....toString()); } for (Map obj: list){ Log.w(“But”, obj.get(“but”).toString()); } Java
java 基 础 语 法 一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。...HelloWorld Hello World 基本语法 编写Java程序时,应注意以下几点: 大小写敏感:Java是大小写敏感的,这就意味着标识符Hello与hello是不同的。...当保存文件的时候,你应该使用类名作为文件名保存(切记Java是大小写敏感的),文件名的后缀为.java。(如果文件名和类名不相同则会导致编译错误)。...java变量 Java中主要有如下几种类型的变量 局部变量 类变量(静态变量) 成员变量(非静态变量) java数组 数组是储存在堆上的对象,可以保存多个同类型变量。...("Hello World"); } } java空行 空白行,或者有注释的的行,Java编译器都会忽略掉。
NoteDemo { // 这是行注释注释 public static void main(String[] args) { System.out.printf("在学习Java...注释\n"); System.out.printf("在学习Java注释"); } /*我要好好学习 认真对待 这是块注释*/ } 注释不会影响程序的执行...每四位二进制作为一个单元,最小数是0,最大数是15,共16个数字,这就是十六进制 97:01100001十六进制:0110,0001->61 250:11111010十六进制:1111,1010->FA Java...Java自己保留的一些单词,作为特殊功能的,例如public、class、byte、short、int 我们不能用来作为类名或者变量名称,否则报错 关键字很多,不用可以去记 标识符 标识符是由一些字符、...整型 浮点型 字符型 布尔型 关键字和标识符 关键字:Java已经拿来用的,我们不能再用来取名字 标识符:不能数字开头,区分大小写,取名规范
java switch语法 switch(type){ case "aaa": break; case "bbb":