perl6正则 5: [ ] / | / ||】的更多相关文章

数字, 字母, 下划线 在perl6中, 如果是 数字, 字母, 下划线, 在正则里可以正接写上. > so / True > so 'perl6_' ~~ /_/ True > 非数字, 字母, 下划线 如果不是数字.字母. 下划线, 可以用 \ 反斜线转义, 或用单.双相号包围. > 'name@company.uk' ~~ / name\@co / 锝ame@co锝? > 'name@company.uk' ~~ / name'@'co / 锝ame@co锝? &g…
~~ perl6 中, 要匹配一个正则, 使用 ~~ 智能匹配符. > so 'abcde' ~~ /a.c/ True > so 'abcde' ~~ /a.d/ False > // 或 m 模式中, 默认用 // , 如果要改变, 像perl5一样加 m前缀就行. > ~('abcde' ~~ m! a. !) ab > rx// 如果我们要把正则保存到一个变量中, 可以用 rx // 创建一个表达式. > my $r = 'a.'; a. > $r a.…
这个 :g 只能写在外面 m:g /re/…
也就是可以把多种要匹配的写进[ ] 中, 第种用 | 分开就行了. | 与 || 有差别 |的话, 当匹配位置 相同时, 会取最长的, 而 || , 当前面的匹配成功, 后面的就不会再去匹配. / / / / / / / a || bc / # matches 'a' or 'bc' ( a || b ) c / # matches 'ac' or 'bc' [ a || b ] c / # Same: matches 'ac' or 'bc', non-capturing grouping a…
<?before> <? befor XXX> 某字符在 xxx 之前 <?after > <?after XXX> 某字符之后有XXX 对应的取反分别为: <!before > <!before XXX> XXX之前没有 <!after> <!after xxx> 某字符后面不是 xxx say "foobar" ~~ /foo <!before baz>/; # ->…
^ $ 匹配一行的开头或结尾, 可以用 ^ 或 $. > so 'abcde' ~~ /e$/ True > so 'abcdef' ~~ /e$/ False > so 'abcdef' ~~ /^a/ True > so 'abcdef' ~~ /^b/ False > 对于多行的情况, 可以用 ^^ 或 $$. > so "Abcd\nBdfsadf" ~~ /^^B/ True > so "Abcd\nBdfsadf"…
需求: 只获取 ath 物种的 hairpin 序列 文件格式如下所示,以>打头的为 header,紧跟的为序列[AUCG]+ (Perl5 regexp 格式) #!/usr/bin/env perl6 my Bool $now = False ; # 词法变量还是用 my 声明 # 此外,perl5中的 local 在6 中是没有的 # our, state # temp let 可以作用于声明好的变量上 my Str $seq; for @*ARGS[0].IO.lines -> $l…
use v6; use Bailador; =begin pod 我们在路径设置上, 可以利正则表达式捕获的字符串作为子例程参数 =end pod get '/perl6/(.+)' => sub ($route) { "url : $route"; #这个(.+)全匹配/perl6下面的所有东西 #匹配到这个字符串时, 会把这个字符串作为参数传递给子例程 } get '/admin/(.+)/(.+)' => sub ($route1, $route2) { "…
use v6; =begin pod perl6 中的替换用S/// S有几个可选参数: :g —(长形式::global)全局匹配:替换掉所有的出现 :i —不区分大小写的匹配 :ii —(长形式: :samecase) 保留大小写:不管用作替换字母的大小写,使用原来被替换的字母的大小写 :mm —(长形式::samemark) 保留重音符号:在上面的例子中,字母 o 上的分音符号被保留并被应用到替换字母 u 上 :nth(n) —只替换第 n 次出现的 :x(n) —至多替换 n 次(助记符…
正则对象 var reg = new Regexp('abc','gi') var reg = /abc/ig 正则方法 test方法(测试某个字符串是否匹配) var str = 'abc123'; var ismatch = /[a-z]+\d+$/.test(str); console.log(ismatch); //true exec方法(捕获字符串) var str = 'abcd123'; var reg = /([a-z]{1})/g; //如果没有g,每次从开头匹配 var ar…