App-Greple-aozora
view release on metacpan or search on metacpan
lib/App/Greple/aozora.pm view on Meta::CPAN
ï¼å¤æ°ããããããã¦ãã§ãã¯ãã¥ããã¨ãã¯ã次é
ã®æ£è¦è¡¨ç¾ã§ã誤ã£ã¦å
¥ã£ã平仮åã¸ãºã¹ããã§ãã¯ãã¦ãã ãããï¼
[ã¸ãºã¹]
=item --check-he
平仮åã¨ã«ã¿ã«ãã®ãã¸ã¹ãºããããããã両æ¹ãã§ãã¯ããã
ããããç°ãªãè²ã§è¡¨ç¤ºãããã
=item --suspicious-he
çä»®åæååã«æ¥ãã平仮åã¸ãºã¹ãã¿ã¦ãèªã¿åã誤ãããã§ãã¯ããã
[ã¡-ã¶ã¼][ã¸ãºã¹]
[ã¸ãºã¹][ã¡-ã¶ã¼]
=item --lonely-katakana
çä»®åæååã§ãªãä¸ã«ãä¸åæ··ãã£ãçä»®åããã§ãã¯ããã
[^ã¡-ã¶ã¼][ãã¨ã»ã«ãã¿ããªããª][^ã¡-ã¶ã¼]
=item --lonely-non-katakana
çä»®åæååã®ä¸ã«ãä¸åæ··ãã£ãçä»®åã§ã¯ãªãæåããã§ãã¯ããã
[ã¡-ã¶ã¼]+[å£å·¥ä¸åäºå¤åãä¸å
«æ][ã¡-ã¶ã¼]
=item --kyuji
æ°åãã¡ã¤ã«ã«æ··ããæ§åããã§ãã¯ãããã
[äºæ¡å£åç²é«å£¹ç¨»é£®é±ç榮è¡é©åè·é¹½å¥§æææ¯ç©©åå¹ç«æå£æ·ç¹ªæ´æ®¼è¦ºå¸å¶½æ¨å¸å·æ¡ç½è§éé·å·é¡æ¸æ°£é¾åæ²ç§èææ§å³½æ¾ç¹å ¯æåé©
å³å¾æ 溪ç¶ç¹¼èè¢è¼é·è缺åååæª¢æ¬ç»ç¸£éªé¡¯é©å´...
=item --shinji
æ§åãã¡ã¤ã«ã«æ··ããæ°åããã§ãã¯ããã
[äºæªå§å²çºå»å£±ç¨²é£²é å¶æ è¡é§
åè¶å¡©å¥¥å¿æ¬§æ®´ç©ä»®ä¾¡ç»ä¼å£æçµµæ¡æ®»è¦å¦å²³æ¥½å§å·»æç¼¶è¦³é¢é¥å·é¡å¸°æ°äºå½æ¯ç æ§æ æå³¡æçå°æåºé§å²å¾æµæ¸çµç¶èè軽é¶è¸æ¬ å¹å£åæ¤æ¨©ç®çéºé¡é¨å³...
=item --kogaki
ä»®åãå°æ¸ãããªããã¡ã¤ã«ã«ç´ãè¾¼ãã ãå°æ¸ãããã§ãã¯ããã
ï¼ç©ãæ°ããéãå°åãªã©ã«ç¨ãããã¶ãã¯ãå¤ãã¦ããã¾ããï¼
[ããã
ããã£ãã
ããã¡ã£ã¥ã§ã©ãã£ã¥ã§ã®ãµ]
=item --lonely-alpha
å
¨è§ã¨ããã¹ãå¯è½æ§ã®é«ãã䏿åã®åè§ã¢ã«ãã¡ãããããã§ãã¯ããã
[^a-zA-Z][a-zA-Z][^a-zA-Z]
=item --dot-in-middle
åè§ã®ã.ãã®å¾ã«ãåè§ã®ã¢ãï¼ã ãï¼ãªãã§æåãç¶ããã®ããã§ãã¯ããã
\.([^ ï¼ï¼pã])
=item --space-at-eol
ææ«ã«ãä¸è¦ãªç©ºç½ï¼å
¨è§ãåè§ï¼ãå
¥ã£ã¦ããªããããã§ãã¯ããã
[ ã]+$
=item --suspicious-nl
空ç½ãããã¯æ¬å¼§ä»¥å¤ãæé ã«ãã¦ãããã®ãã¿ã¦ã誤ã£ã¦å
¥ããããæ¹è¡ããã§ãã¯ããã
ï¼åºæ¬ã®è¡ããããªããããã«å
¥ããæ¹è¡ãããã§ãã¯ããã¾ããï¼
^[^ããï¼»ï¼ã]
=item --suspicious-space
è¡é ã®æ¬å¼§ã®åã«ãé空æåº«ã§ã¯å
¥ããªããã¨ã«ãã¦ãã空ç½ããªããããã§ãã¯ããã
^ã[ï¼ãã]
=item --ruby-1
ã«ãã®ä¸ã«ãä»®å以å¤ããªããããã§ãã¯ããã
ã[^ãã]*?[^ã-ãã¡-ã¶ã¼ããã½ã¾ã»ï¼â³ï¼¼][^ãã]*?ã
=item --ruby-2
ã«ãã®æåæ°ã«å¯¾ãã¦ãã«ãã®ä»ãå´ã®æåæ°ãé·ãã®ãã®ãã¿ã¦ããï½ãã®å
¥ãå¿ãããã§ãã¯ããã
[\x{3400}-\x{9fff}\x{f900}-\x{fa2d}ã
]{3,}ã
=item --ruby-3
ã«ãã®ä»ãæåãé£ç¶ãããã®ãã¿ã¦ãéåå²ããã§ãã¯ããã
ã[^ã]+ã[^ã¡-ã¶ã¼ã-ãããï¼ï¼â,ããï½ããã
]+ã[^ã]+ã
=item --ruby-4
ã«ãä¸ã®æä¿é³ãå°æ¸ãããã¦ããªããã®ããã§ãã¯ãããï¼æ£ãã並ã¿ã§ä½¿ããã¦ãããã®ããã§ãã¯ããã¾ããï¼
ã[^ãã]*?[ã¤ãããã¤ã¨ãã¦][^ãã]*?ã
=item --ruby
B<--ruby-[1-4]> ãå
¨é¨ãã§ãã¯ããã
=item --suspicious-brace
誤å
¥åã®å¯è½æ§ã®é«ããåè§ã®ä¸¸æ¬å¼§ã()ãã¨è§æ¬å¼§ã[]ãããã§ãã¯ããã
[^U][\?\!\#-\&\(-\+\<-\>\[-\]|]
=item --rare-chars
使ããããã¨ã®ã¾ããªæåããã§ãã¯ããã
[â²ï¼ï½¥ï¼â¥ï¼ï½¢â¯â¡ï½£ï½¤]
=item --susupicious-ocr
lib/App/Greple/aozora.pm view on Meta::CPAN
define (#katakana) \p{InKatakana}
define (#hiragana) \p{InHiragana}
define (#kanji) \p{Han}
define (#alpha) [a-zA-Z]
define (#alnum) [a-zA-Z0-9]
define (#_alnum) [a-zA-Z0-9_]
define (#katakana::he) [ããã]
define (#hiragana::he) [ã¸ãºã¹]
define (#katakana-hiragana::he) (?<=(#katakana))(#hiragana::he)
define (#hiragana::he-katakana) (#hiragana::he)(?=(#katakana))
define (#he_with_katakana) (#katakana-hiragana::he)|(#hiragana::he-katakana)
option --hiragana-he --re (#hiragana::he)
option --katakana-he --re (#katakana::he)
option --check-he --hiragana-he --katakana-he --need 1
option --suspicious-he --re (#he_with_katakana)
# 人ãå¢å
option --lonely-katakana --re \
'(?<=[(#hiragana)(#kanji)])[ãã¨ã»ã«ãã¿ããªããª](?=[(#hiragana)(#kanji)])'
# ã«ã¿åã
option --lonely-non-katakana \
--re '(?<=(#katakana))[å£å·¥ä¸åäºå¤åãä¸å
«æ](?=(#katakana))'
define (#kyuji) \
äºæ¡å£åç²é«å£¹ç¨»é£®é±ç榮è¡é©åè·é¹½å¥§æææ¯ç©©åå¹ç«æå£æ·ç¹ªæ´æ®¼è¦ºå¸å¶½æ¨å¸å·æ¡ç½è§éé·å·é¡æ¸æ°£é¾åæ²ç§èææ§å³½æ¾ç¹å ¯æåé©
å³å¾æ 溪ç¶ç¹¼èè¢è¼é·è缺åååæª¢æ¬ç»ç¸£éªé¡¯é©å´æ...
define (#shinji) \
äºæªå§å²çºå»å£±ç¨²é£²é å¶æ è¡é§
åè¶å¡©å¥¥å¿æ¬§æ®´ç©ä»®ä¾¡ç»ä¼å£æçµµæ¡æ®»è¦å¦å²³æ¥½å§å·»æç¼¶è¦³é¢é¥å·é¡å¸°æ°äºå½æ¯ç æ§æ æå³¡æçå°æåºé§å²å¾æµæ¸çµç¶èè軽é¶è¸æ¬ å¹å£åæ¤æ¨©ç®çéºé¡é¨å³å...
option --kyuji --re '[(#kyuji)]' // æ§åãæ¤ç´¢
option --shinji --re '[(#shinji)]' // æ°åãæ¤ç´¢
define (#kogaki) ããã
ããã£ãã
ããã¡ã£ã¥ã§ã©ãã£ã¥ã§ã®ãµ
option --kogaki --re '[(#kogaki)]'
# 夿°xã¨y
option --lonely-alpha \
--re '(?<=(#zenkaku))(#alpha)(?=$|(#zenkaku))|^(#alpha)(?=(#zenkaku))' \
// å
¨è§æåã®ä¸ã«ããã䏿åã®åè§ã¢ã«ãã¡ããã
option --lonelies \
--need 1 \
--lonely-alpha \
--lonely-katakana \
--lonely-non-katakana \
// --lonely-alpha --lonely-katakana --lonely-non-katakana
# www.example.jp
# ï½ï½ï½.ï½
ï½ï½ï½ï½ï½ï½
.ï½ï½
define (#dot-in-middle) \.(?![ ï¼ï¼pã])
option --dot-in-middle --re '(#dot-in-middle)'
# è¡æ«ã®ç©ºç½
# è¡æ«ã®å
¨è§ã®ç©ºç½ã
# è¡æ«ã®ã¿ã
option --space-at-eol --re '[ \tã]+$'
define (#char-at-bol) \ããï¼»ï¼ã
define (#suspicious-nl) ^[^(#char-at-bol)]
option --suspicious-nl --re '(#suspicious-nl)'
option --suspicious-space --re '^ã(?=[ï¼ãã])'
option --ruby-1 --re 'ã[^ãã]*?[^ã-ãã¡-ã¶ã¼ããã½ã¾ã»ï¼â³ï¼¼][^ãã\n]*?ã'
option --ruby-2 --re '[\x{3400}-\x{9fff}\x{f900}-\x{fa2d}ã
]{3,}ã'
option --ruby-3 --re 'ã[^ã]+ã[^ã¡-ã¶ã¼ã-ãããï¼ï¼â,ããï½ããã
]+ã[^ã]+ã'
option --ruby-4 --re 'ã[^ãã]*?[ã¤ãããã¤ã¨ãã¦][^ãã]*?ã'
option --ruby --ruby-1 --ruby-2 --ruby-3 --ruby-4 --need 1
define (#suspicious-brace) [^U][\?\!\#-\&\(-\+\<-\>\[-\]|]
option --suspicious-brace --re '(#suspicious-brace)'
define (#rare-chars) [â²ï¼ï½¥ï¼â¥ï¼ï½¢â¯â¡ï½£ï½¤]
option --rare-chars --re '(#rare-chars)'
define (#suspicious-ocr) \
米殻|奴é¸|é女|åé|壷|壼|伿|æºåº|æå»|æ¤å¸|æ
°ç±|ç¼ç±|é
è½|æå³|ç¹æ§|ç¹å³|忥|[æ°å¤©]侯|çå|éæ²»å±|æã£ã¦|帰ã|å é£|ç²æ¡|è¸è|建è¬ç©|表è¦|çµµä»|ç人形|ç·å£|éç·|çã
|ç
®è¶£|ç²ã®|å...
option --suspicious-ocr --re '(#suspicious-ocr)' // OCRã®ãã¹ãçããããæå
( run in 0.975 second using v1.01-cache-2.11-cpan-302cb4679cc )