- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在使用 Ruby1.9.3。我是这个平台的新手。
来自doc我刚刚熟悉了两个anchor
,它们是\z
和\G
。现在我稍微玩了一下 \z
看看它是如何工作的,因为定义(End 或 End of String)让我感到困惑,我无法理解它的意思 - by End
。所以我尝试了下面的小片段。但是还是抓不到。
代码
irb(main):011:0> str = "Hit him on the head me 2\n" + "Hit him on the head wit>
=> "Hit him on the head me 2\nHit him on the head with a 24\n"
irb(main):012:0> str =~ /\d\z/
=> nil
irb(main):013:0> str = "Hit him on the head me 24 2\n" + "Hit him on the head >
=> "Hit him on the head me 24 2\nHit him on the head with a 24\n"
irb(main):014:0> str =~ /\d\z/
=> nil
irb(main):018:0> str = "Hit1 him on the head me 24 2\n" + "Hit him on the head>
=> "Hit1 him on the head me 24 2\nHit him on the head with a11 11 24\n"
irb(main):019:0> str =~ /\d\z/
=> nil
irb(main):020:0>
每次我得到 nil
作为输出。那么 \z
的计算是如何进行的呢? End
是什么意思? - 我认为我的概念对文档中的 End
词有任何错误。所以任何人都可以帮助我了解发生的原因以及为什么会发生这种情况?
而且我也没有找到 anchor \G
的任何例子。请大家举例说明 \G
在实时编程中是如何使用的?
编辑
irb(main):029:0>
irb(main):030:0* ("{123}{45}{6789}").scan(/\G(?!^)\{\d+\}/)
=> []
irb(main):031:0> ('{123}{45}{6789}').scan(/\G(?!^)\{\d+\}/)
=> []
irb(main):032:0>
谢谢
最佳答案
\z
匹配输入的结尾。您正在尝试查找输入末尾出现 4 的匹配项。问题是,输入末尾有一个换行符,所以您找不到匹配项。 \Z
匹配输入的末尾或输入末尾的换行符。
所以:
/\d\z/
匹配“4”在:
"24"
和:
/\d\Z/
匹配上面例子中的“4”和下面的“4”:
"24\n"
查看此问题以使用 \G
为例:
Examples of regex matcher \G (The end of the previous match) in Java would be nice
更新:\G
的实际用途
我想出了一个更真实的例子。假设您有一个单词列表,这些单词由无法很好预测的任意字符分隔(或者列出的可能性太多)。您想要匹配这些单词,其中每个单词都是自己的匹配项,直到一个特定的单词,之后您不想再匹配任何单词。例如:
foo,bar.baz:buz'fuzz*hoo-har/haz|fil^bil!bak
您想匹配每个单词直到“har”。您不想匹配“har”或后面的任何单词。您可以使用以下模式相对轻松地完成此操作:
/(?<=^|\G\W)\w+\b(?<!har)/
第一次尝试将匹配输入的开头,然后是零个非单词字符,然后是 3 个单词字符('foo'),然后是单词边界。最后,负向回顾确保刚刚匹配的单词不是“har”。
在第二次尝试时,匹配会在最后一场比赛结束时重新开始。匹配了 1 个非单词字符(',' - 尽管它由于后向查找而未被捕获,这是一个零宽度断言),后跟 3 个字符('bar')。
这一直持续到“har”被匹配,此时负向回顾被触发并且匹配失败。因为所有匹配项都应该“附加”到最后一个成功的匹配项,所以不会匹配其他单词。
结果是:
foo
bar
baz
buz
fuzz
hoo
如果你想反转它并让所有单词都在 'har' 之后(但同样不包括 'har'),你可以使用这样的表达式:
/(?!^)(?<=har\W|\G\W)\w+\b/
这将匹配紧接在“har”之前的单词或最后一个匹配项的结尾(除非我们必须确保不匹配输入的开头)。匹配列表是:
haz
fil
bil
bak
如果你确实想匹配'har'和后面的所有单词,你可以使用这个:
/\bhar\b|(?!^)(?<=\G\W)\w+\b/
这会产生以下匹配项:
har
haz
fil
bil
bak
关于ruby - Anchor\z 和\G 在 Ruby 中是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14365969/
当用户将鼠标悬停在 anchor 上时,除了悬停的 anchor 之外的每个 anchor 都会改变颜色。假设有 link1 link2 link3。如果用户将鼠标悬停在 link1 上,我希望更改
'; echo "".$value['eventsearchresultwhat'].""; echo "\n"; echo $value['eventsearchr
我有几个多列下拉菜单作为我的主导航的一部分。由于某种原因,两个多列下拉菜单中每个链接周围的 anchor 命中区域位于链接本身上方。我该如何修复它,使点击区域像普通 anchor 一样以链接文本为中心
我正在 android studio 中创建内部构建 AR 导航。我正在寻找一种方法将 anchor 与其他 anchor 或 anchor 节点/节点“连接”起来。我不确定使用哪一个。基于我将强制用
我有很多 anchor 可以在 doxygen 中描绘,例如 \anchor pic_foo \image html foo.gif "My Caption" \anchor pic_bar \ima
我有 3 个 anchor block ,当我加载页面时,我需要 3 个不同的随机 background-colors。然而,只有第一个 anchor 随机改变 background-color。这是
我有一个带有 float 顶部导航栏的网页。我想将 anchor 链接添加到目录以快速定向到页面上的其他位置。 #top { display: flex; z-index: 100; ba
我无法理解为什么将 text-align 属性设置为 right 值,将 span 标签移出 anchor 标签区域(溢出)? HTML文件的结构 a.btn{ border: 1px solid
我需要使用 Jquery 将类“Selected”添加到一个 anchor ,捕获它的唯一方法是通过其属性“active=true”。然后,当用户选择其他 anchor 时,新 anchor 将被设置
我在 hubspot 上有一个基于搜索词查询动态生成的搜索列表页面。 HTML结构如下: a class="hs-search-results__title" href="www.somethi
标题隐晦,但很难解释。使用 Firefox,前往 http://images.google.com进行随机搜索,然后将第一个搜索结果拖到地址栏。您会看到它转到具有图像 anchor 的页面。然后单击“
我正在为 vue-router 不滚动/导航到 anchor 标签(例如:#anchor)而苦苦挣扎。我在 Stack Overflow 上阅读了各种解决方案,但到目前为止都没有奏效。 请在下面找到我
我正在制作 AR 应用程序。要求很简单。在“配置阶段”,我启动应用程序并将一个立方体放在房间的地板上,然后关闭它。稍后当我再次启动应用程序时,当相机面向同一楼层时,立方体应该留在那里。根据我发现的信息
我正在 WordPress 中通过简码展示一组产品。显示屏上有图像和按钮。 问题:只有照片包含指向单个产品页面的链接。关联的按钮没有指向单个产品页面的链接。 这是当前代码:
我正在尝试做一件奇怪的事情。我将解释一般情况,然后按照我想要执行的步骤进行。我有一个 内的项目列表。当我按下一个元素时,必须打开一个模式。在这个模态中,有与 相同的元素。但详细解释了。当模式打开时
尝试从 anchor 克隆文本并将其设置为同一 anchor 的标题属性,但不了解如何使用正确语法的逻辑。 $(document).ready(function () { $('.desc a').c
--- #File A - Lunch: &01 - Chicken - Rice - Sallad ... --- #File B - Mon
我的用例是: 点击屏幕并将“点”保存为起始 anchor 第二次点击屏幕并将“点”保存为结束 anchor 按下按钮将对象从开始 anchor 移动到结束 anchor 我已经构建了自己的节点,该节点
我的菜单和基于#anchors 的导航有问题。我正在使用 JS 函数在滚动时将菜单置于顶部(#stickyheader)。我的菜单上有一个 div,滚动时会消失(#unstickyheader)。该
我目前有这个基础页面淡入淡出脚本函数,当前针对所有 anchor ('a'),但不确定如何准确排除具有类(.noFade)的某个 anchor 淡出。 JS: $(document).ready(fu
我是一名优秀的程序员,十分优秀!