HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2021
1003
UT-X正規表現によるスペースに挟まれた文字の検出1解決


UT-X

リンク

2021/10/3(Sun) 12:02:27|NO.94038

開発中のソフトで正規表現(mod_regexp)を用いた検索を行っているのですが、
以下のように文字列を検出するには2つ以上の命令/関数が必要でしょうか?
"1"→"1"
"1 2 3"→"1"
"123"→""
"3 2 1"→"1"
"321"→""
"2 1 3"→"1"
"213"→""
下のような方法では検出できませんでした。
#include "mod_regexp.as"
a="1" b="123" c="1 2 3" d="321" e="3 2 1" f="213" g="2 1 3" mes "a="+match(a,"((?= )|^)1((?= )|$)",0,1) mes "b="+match(b,"((?= )|^)1((?= )|$)",0,1) mes "c="+match(c,"((?= )|^)1((?= )|$)",0,1) mes "d="+match(d,"((?= )|^)1((?= )|$)",0,1) mes "e="+match(e,"((?= )|^)1((?= )|$)",0,1) mes "f="+match(f,"((?= )|^)1((?= )|$)",0,1) mes "g="+match(g,"((?= )|^)1((?= )|$)",0,1)



この記事に返信する


UT-X

リンク

2021/10/3(Sun) 12:14:00|NO.94039

自己解決しました。単語の検出に用いる\bを使うことでできました。
#include "mod_regexp.as"
a="1" b="123" c="1 2 3" d="321" e="3 2 1" f="213" g="2 1 3" mes "a="+match(a,"\\b1\\b",0,1) mes "b="+match(b,"\\b1\\b",0,1) mes "c="+match(c,"\\b1\\b",0,1) mes "d="+match(d,"\\b1\\b",0,1) mes "e="+match(e,"\\b1\\b",0,1) mes "f="+match(f,"\\b1\\b",0,1) mes "g="+match(g,"\\b1\\b",0,1)



ONION software Copyright 1997-2023(c) All rights reserved.