一、PHP[PCRE]之Unicode

PCRE支持的16进制字符编码转义符有

\x00-\xFF,或\x{num},num为任意位16进制数

但并不支持\u0000-\uFFFF这的形式

PCRE运用/u模式去处理UTF-8编码字符,这是PCRE特有的,示例代码

$str = '中asfdsf个业上';
$pattern = '/[\x{4E10}-\x{4E2F}\x{4E0A}]/u';
$matchs = array();
$result = preg_match_all($pattern, $str, $matchs);
var_dump($result, $matchs);

示例中“中个业上”将会被匹配,因为字符组中\x{4E10}-\x{4E2F}匹配了“中个业”所在的Unicode区间,\x{4E0A}对应的是“上”;

二、JavaScript

JavaScript支持的16进制字符编码转义符有

\x00-\xFF, \u0000-\uFFFF

示例代码

var str = "中asfdsf个业上";
var regExp = /[\u4E10-\u4E2F\u4E0A]/g;
console.log(str.match(regExp));

示例中“中个业上”将会被匹配,原因同上;

[正则表达式]匹配Unicode的更多相关文章

  1. 正则表达式入门(六)匹配unicode和其他字符

    匹配unicode字符有时候我们需要匹配ASCII范围之外的字符. "Qu'est-ce que la tolérance? c'est l'apanage de l'humanité. N ...

  2. 正则表达式匹配可以更快更简单 (but is slow in Java, Perl, PHP, Python, Ruby, ...)

    source: https://swtch.com/~rsc/regexp/regexp1.html translated by trav, travmymail@gmail.com 引言 下图是两种 ...

  3. [LeetCode] Regular Expression Matching 正则表达式匹配

    Implement regular expression matching with support for '.' and '*'. '.' Matches any single character ...

  4. 正则表达式匹配/data/misc/wifi/wpa_supplicant.conf的WiFi名称与密码

    正则表达式匹配/data/misc/wifi/wpa_supplicant.conf的WiFi名称与密码: String regex_name="ssid=\"(.*?)\&quo ...

  5. 在Visual Studio中使用正则表达式匹配换行和批量替换

    系统环境:Windows 8.1 Enterprise Update 2 x64 开发环境:Mircosoft Visual Studio Ultimate 2013 Update 2 RC 问题:如 ...

  6. .NET正则表达式匹配Silverlight

    这是一个.NET正则表达式匹配工具的Silverlight 在页面中加入以下代码就可以了: <"> <param name="source" value ...

  7. Flex的正则表达式匹配速度与手工代码的比较

    flex是一个词法分析器生成器,它是编译器和解释器编程人员的常用工具之一.flex的程序主要由一系列带有指令(称为动作代码)的正则表达式组成.在匹配输入时,flex会将所有的正则表达式翻译成确定性有穷 ...

  8. Java/Js下使用正则表达式匹配嵌套Html标签

    转自:http://www.jb51.net/article/24422.htm 以前写过一篇文章讲解如何使用正则表达式完美解决Html嵌套标签的匹配问题(使用正则表达式匹配嵌套Html标签),但是里 ...

  9. Java正则表达式匹配例子

    Java正则表达式匹配例子 package com.ibm.test; import java.util.regex.Matcher; import java.util.regex.Pattern; ...

随机推荐

  1. Vertica系列: 自动生成Identity 字段值的方法

    参考 https://thisdataguy.com/2015/01/05/vertica-some-uses-of-sequences/ 在 vertica 中有三种定义 identity 字段的方 ...

  2. webpack 内存溢出 Allocation failed - JavaScript heap out of memory

    项目中,当组件文件过多,webpack-dev-server 编译时,容易内存溢出, 在 \node_modules\.bin\webpack-dev-server.cmd 加以下红色配置,暂可解决 ...

  3. [译]Domain Events Pattern Example

    原文 完整源码 本文展示的是一个关于网上调查的项目.想象下,当用户完成了一个调查,我们想通知所有人调查已经结束,分配一个人去检查调用问卷. 领域对象 public class Survey { pub ...

  4. UE4源码笔记

    找编辑器LOG,找相应代码.(改相应LOG 重编译后有反应)GenerateProjectFiles  寻找配置,生成VS文件.  有一些小工具项目默认是没打开的.API宏是较旧的代码,新的代码会设计 ...

  5. 贝叶斯网络与LDA

    一.一些概念 互信息: 两个随机变量x和Y的互信息,定义X, Y的联合分布和独立分布乘积的相对熵. 贝叶斯公式: 贝叶斯带来的思考: 给定某些样本D,在这些样本中计算某结论出现的概率,即 给定样本D ...

  6. Python18 Django 基础

    本节内容 上节项目基础语法补充 Django请求的生命周期 通过这张图,我们可以很好的解释一下这个问题. Django请求的生命周期是由客户端的请求开始:经由路由系统找到相对应的视图函数:视图函数到h ...

  7. Microsoft SQL - 操作语句

    操作语句(Operation Statement) 操作数据库 创建数据库 关键字:create database 用于创建各种数据库对象(数据库.表.触发器.存储过程等) 格式如:create &l ...

  8. qt5.6.2简单操作mysql数据库

    1.新建个项目后,需要在.pro工程文件在中添加QT += sql,否则编译会出错: 2.如果出现数据库驱动未加载,则需要把mysql下的libmysql.dll拷贝到D:\Qt5.6.2\5.6\m ...

  9. OVS-----CentOS7上搭建基于Open vSwitch的VxLAN隧道实验

    一.关于VXLAN VXLAN 是 Virtual eXtensible LANs 的缩写,它是对 VLAN 的一个扩展,是非常新的一个 tunnel 技术,在Open vSwitch中应用也非常多. ...

  10. 析构函数 声明为protected

    1.如果一个类被继承,同时定义了基类以外的成员对象,且基类析构函数不是virtual修饰的, 那么当基类指针或引用指向派生类对象并析构(例如自动对象在函数作用域结束时:或者通过delete)时,会调用 ...