浅析正则表达式,正则表达式

第  20章  正则表达式
 20.1  字符匹配
 20.2  可选字符集
 20.3  或匹配
 20.4  数量限定符
 20.5  贪婪和懒惰
 20.6  定位符
 20.7  分组和后向引用
 20.8  替换文本
 20.9  非捕获分组和预查
             1.非捕获分组?:
             2.正向预查?=
             3.反向预查?<=
             4.负正向预查?!
             5.负反向预查?<!
             6.注释#
20.10  正则表达式的类
20.11  正则表达式的选项
20.12  练习:验证用户输入

app.use(require('koa-less')(__dirname + '/public'))

图片 1

图片 2

路由参数(/:id)

这两个替换元素基本上是一样的只不过一个匹配的是前面的元素一哥匹配的是后面的元素,这里就根据一个例子进行讲解吧,比如一串字符中包含数字和因为字母,这时候想把这些汉字替换成汉字所在的位置前面的内容。这时候就需要用到$`根据一个例子来看一下这个的用法:(如下图所示)($`包括替换字符串中的匹配项前的输入字符串的所有文本。)

附录征集贴:

// 赋值
ctx.session.statu = value
// 取值
ctx.session.statu
// 删除
ctx.session.statu = null

  匹配出来的三组内容,这个应该好理解了,下面的替换内容为:

图片 3

这个必须在router前use,不然会无效。

  Ok分析到这里吧其他的原则都是一样的,等大家自己去分析吧,通过上面的分析.NET再也不担心我的正则表达式替换用不好了~

 
图片 4

koa-less

  ③    $$匹配元素

图片 5

POST参数(JSON或Form)

替换

说明

$number

包括替换字符串中的由 number 标识的捕获组所匹配的最后一个子字符串,其中 number 是一个十进制值。

${ name }

包括替换字符串中由 (?<name> ) 指定的命名组所匹配的最后一个子字符串。

$$

包括替换字符串中的单个“$”文本。

$&

包括替换字符串中整个匹配项的副本。

$`

包括替换字符串中的匹配项前的输入字符串的所有文本。

$’

包括替换字符串中的匹配项后的输入字符串的所有文本。

$+

包括在替换字符串中捕获的最后一个组。

$_

包括替换字符串中的整个输入字符串。

图片 6

koa-generator生成的应用已经包含常用中间件了,这里仅说它里面没有用到的。

       .NET下面定义了下表的替换元素:

审查征集贴:

获取参数(request)


 

const userAuth = (ctx, next) => {
  let isLogin = ctx.session.isLogin
  if(isLogin) return next()
}
router.use('/', userAuth)

  上图表示了整个正则表达式匹配的内容有两个一个是匹配的3,另一个匹配的是6。将正则表达式的模式调整为替换模式,替换模式后可以用上表格中的第一个方法进行替换,也就是已经将3,6分了组号第0组或第1组都可以。详细看一下下图所示:

总目录:

服务器响应给客户端的数据

 

 

// 设置app keys,session会根据这个进行加密
app.keys = ['some secret hurr'];
// 配置session config
const CONFIG = {
  key: 'bougie:session',
  /** (string) cookie key (default is koa:sess) */
  maxAge: 1000 * 60 * 60 * 24 * 7,
  overwrite: true,
  /** (boolean) can overwrite or not (default true) */
  httpOnly: true,
  /** (boolean) httpOnly or not (default true) */
  signed: true,
  /** (boolean) signed or not (default true) */
  rolling: true,
  /** (boolean) Force a session identifier cookie to be set on every response. The expiration is reset to the original maxAge, resetting the expiration countdown. (default is false) */
  renew: false,
  /** (boolean) renew session when session is nearly expired, so we can always keep user logged in. (default is false)*/
};

// 应用中间件
app.use(session(CONFIG, app));

      
如果上述分析内容有错误还望各位指出,小丁再次谢过了。这里我想说的是Msdn里面资料还是很全的,大家可以学习的话首选还是Msdn。


@import 'foo.less';
@import 'bar.less';

  ②   ${ name }替换原则

图片 7

koa-proxies

图片 8

 

ctx.params.id

图片 9

Java中的Spring MVC加MyBatis基本上已成为Java Web的标配。Node
JS上对应的有Koa、Express、Mongoose、Sequelize等。Koa一定程度上可以说是Express的升级版。许多Node
JS项目已开始使用非关系型数据库(MongoDB)。Sequelize对非关系型数据库(MSSQL、MYSQL、SQLLite)做了支持。

  ⑤    $`和$’替换元素

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注