StoneRiver Blog


  • 首页

  • 分类

  • 归档

  • 标签

正则表达式

发表于 2018-12-09 | 分类于 工具积累

1.需要转义的字符

  • 起止匹配:^ $(特例:在括号中可以直接使用 ^ 表示非的逻辑)
  • 子表达式:( )
  • 匹配任意字符:.
  • 量词:{ } ? * +
  • 中括号表达式:[ ]
  • 或逻辑:|
  • 转义标记符本身:\

2.字符类

2.1 任意字符

用 . 表示任意字符

2.2 用 [ ] 表示一个字符

[ ]中的字符是或的关系。^ 用在 [ ] 中表示对其后结果的否定。

  • [abc]:a、b、c 任一个。
  • [^abc]:a、b、c 之外的任何字符。
  • [a-z]:任意小写字母
  • [A-Z]:任意大写字母
  • [0-9]:任意数字

特别需要注意的一点,如果 . (点号)在 [] 之中,这时 . 就表示点号了,而不是“任意字符”的含义。

2.3 预定义字符类

将一些常用的字符类组合进行预定义。

  • \s:非空白符
  • \S:空白符
  • \d:数字,等同于 [0-9]
  • \D:非数字 [^0-9]
  • \w:词字符 [a-zA-Z_0-9]
  • \W:非词字符 [^a-zA-Z_0-9]

3.逻辑操作符

符号 含义
XY Y跟在X后面
X|Y X或Y
(X) 子表达式,配合组使用

4.边界匹配符

匹配符 含义
^ 一行开始
$ 一行结束
\b 词的边界
\B 非词的边界
\G 前一个匹配的结束

5.量词

贪婪形 勉强形 占有形 匹配规则
X? X?? X?+ 一个或零个X
X* X*? X*+ 零个或多个X
X+ X+? X++ 一个或多个X
X{n} X{n}? X{n}+ 恰好n个X
X{n,} X{n,}? X{n,}+ 至少n个X
X{n,m} X{n,m}? X{n,m}+ X至少n个且不超过m个

JNA使用简介

发表于 2018-11-04 | 分类于 工具积累

本文介绍如何使用JNA来实现java对静态lib的调用。

1.JNA是什么

JNA provides Java programs easy access to native shared libraries without writing anything but Java code - no JNI or native code is required.

github地址:https://github.com/java-native-access/jna

阅读全文 »

Nginx配置详解

发表于 2018-02-24 | 分类于 工具积累

一、背景

工作中常遇到需要修改Nginx配置的地方,现总结一些,便于查阅。
本文采用的nginx版本为openresty/1.11.2.4

1
2
> ./nginx -v
nginx version: openresty/1.11.2.4
阅读全文 »
1…45
石河

石河

43 日志
9 分类
27 标签
© 2014 - 2023 石河 鄂ICP备 - 18004935号