`
zhouchaofei2010
  • 浏览: 1102945 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

js 正则表达式 定位符

    博客分类:
  • js
 
阅读更多

百度“js  正则表达式  定位符”,多是如下内容:

 

除了我们以上所介绍的元字符之外,正则表达式中还具有另外一种较为独特的专用字符,即定位符。定位符用于规定匹配模式在目标对象中的出现位置。 较为常用的定位符包括: “^”, “$”, “A word boundary is the position between a word and a space.” 以及 “\B”。

  “^”定位符规定匹配模式必须出现在目标字符串的开头

  “$”定位符规定匹配模式必须出现在目标对象的结尾

  “\b”定位符规定匹配模式必须出现在目标字符串的开头或结尾的两个边界之一

  “\B”定位符则规定匹配对象必须位于目标字符串的开头和结尾两个边界之内,

  即匹配对象既不能作为目标字符串的开头,也不能作为目标字符串的结尾。

  同样,我们也可以把“^”和“$”以及“\b”和“\B”看作是互为逆运算的两组定位符。举例来说: /^hell/ 因为上述正则表达式中包含“^”定位符,所以可以与目标对象中以 “hell”, “hello”或“hellhound”开头的字符串相匹配。 /ar$/ 因为上述正则表达式中包含“$”定位符,所以可以与目标对象中以 “car”, “bar”或 “ar” 结尾的字符串相匹配。 /\bbom/ 因为上述正则表达式模式以“\b”定位符开头,所以可以与目标对象中以 “bomb”, 或 “bom”开头的字符串相匹配。/man\b/ 因为上述正则表达式模式以“\b”定位符结尾,所以可以与目标对象中以 “human”, “woman”或 “man”结尾的字符串相匹配。

 

“^”,和“\b” 所作用的对象都被解释成目标字符串,其实这有歧义

 

如http://www.w3school.com.cn/tiy/t.asp?f=jseg_replace_6

对于如下js代码:

name = 'aaa bbb ccc';
uw=name.replace(/\b\w+\b/g, function(word){
    return word.substring(0,1).toUpperCase()+word.substring(1);}
    );

结果是 Aaa Bbb Ccc

 

但如果把/\b\w+\b/g 换成 /^\w+\b/g

则结果是 Aaa bbb ccc

 

查看英文解释:

\b :  A word boundary,A word boundary is the position between a word and a space.

 

^ $ :Using both the ^ and the $ indicates that the specified pattern must encompass the
entire candidate string. For example: /^test$/.

 

很显然,\b 作用的对象是字符串中的单词  ,而^的作用对象时整个字符串

 

^-^ !

 

 

 

 

 

0
1
分享到:
评论

相关推荐

    JavaScript正则表达式迷你书

    《JavaScript正则表达式迷你书》是一本关于JavaScript正则表达式的专业书籍,正则表达式是处理字符串的强大工具,广泛应用于编程语言中的文本处理。本书从字符匹配、位置匹配、括号的作用、回溯法原理、拆分、构建和...

    精通正则表达式(第三版)简体中文版

    - **JavaScript中的正则表达式**:JavaScript的正则表达式对象提供了丰富的功能,包括全局匹配、忽略大小写等选项。 - **.NET框架中的正则表达式**:通过System.Text.RegularExpressions命名空间提供支持。 #### 六...

    javascript正则表达式学习笔记

    这篇学习笔记将深入探讨JavaScript正则表达式的概念、语法和实际应用。 一、正则表达式基础 1. 创建正则表达式: - 字面量表示法:`/pattern/flags` - 构造函数:`new RegExp('pattern', 'flags')` 2. 常见的...

    正则表达式教程合集(各种语言的,超全)

    5. 定位符:`^`匹配行首,`$`匹配行尾。 6. 分组:使用圆括号`()`定义一个捕获组,可以用于反向引用或保存匹配结果。 正则表达式还支持更多的高级特性,如非捕获组 `(?:...)`、选择 `(a|b)`、重复 `{n}`、`{n,}`、`...

    正则表达式素材5

    7. **正则表达式模式修饰符**:如i(忽略大小写)、g(全局匹配)、m(多行模式)等,可以改变正则表达式的匹配行为。 8. **回溯**:理解正则表达式引擎如何处理回溯对于优化复杂正则表达式至关重要,避免不必要的...

    正则表达式文本编辑器

    2. 动态反馈:通过JavaScript或其他脚本语言,可以实时展示正则表达式的匹配结果,帮助用户即时调整表达式。 3. 教程与帮助:HTML环境便于集成教程和在线帮助,指导用户学习和掌握正则表达式。 总结,正则表达式...

    史上最好的正则表达式教程.pdf

    14. 在线工具,如JavaScript在线正则测试器和.Net正则表达式测试工具,可以帮助开发者测试和学习正则表达式。 正则表达式的学习不应该一蹴而就,而是需要持续不断的实践和练习,以达到熟练掌握。同时,参考资料和...

    正则表达式-随心查找随心所用

    定位符在正则表达式中用于指定模式的位置,`^`表示匹配开头,`$`表示匹配结尾,`\b`匹配边界,`\B`匹配非边界。这些定位符使得正则表达式能更精确地定位特定的字符串段落,例如`/^foo/`只匹配以"foo"开头的字符串。 ...

    精通正则表达式(英文版+中文目录)

    在实践中,书中会讨论如何在各种编程语言中使用正则表达式,如JavaScript、Python、Java等,并给出具体的示例代码,帮助读者理解如何在实际开发中应用正则表达式。此外,书中还会讲解正则表达式引擎的工作原理,这...

    正则表达式全集(内有文档chm格式与实例)

    1. 定位符:"^"表示行首,"$"表示行尾,"\\b"表示单词边界。 2. 量词:"{n}"表示n次,"{n,m}"表示n到m次,"{n,}"表示至少n次。 3. 选择符:"|", 表示或操作,例如"a|b"匹配"a"或"b"。 4. 分组:"( )"用于创建子模式...

    一款可调式生成正则表达式的软件!

    正则表达式的基本元素包括字符集、量词、定位符、分组与引用、选择和反向引用等。例如,"."匹配任意单个字符,"*"表示前面的字符可以出现零次或多次,"^"代表行首,"$"表示行尾,"\d"代表数字,"[abc]"表示字符集,...

    正则表达式测试工具

    1. **实时匹配**:输入正则表达式和测试文本,立即显示匹配结果,帮助快速定位问题。 2. **步骤解析**:有些工具会逐步展示正则匹配的过程,方便理解匹配逻辑。 3. **替换功能**:除了匹配,还能执行替换操作,预览...

    JavaScript正则表达式使用详解

    JavaScript正则表达式是一种强大的文本处理工具,广泛应用于各种编程环境,包括JavaScript这样的客户端脚本语言。它允许开发者通过特定的模式来匹配、查找、替换文本。正则表达式的核心在于其元字符和定位符。 元...

    正则表达式详解+一个源代码

    不同的编程语言对正则表达式的支持程度和实现方式有所不同,如Perl、JavaScript、Python等都有内置的正则表达式支持。而在实际应用中,还需要考虑正则表达式的引擎类型,如DFA(确定有限状态自动机)和NFA(非确定...

Global site tag (gtag.js) - Google Analytics