
正規表現にて、matchesメソッドを使って配列の中にある末尾の2文字をとって
正規表現したいのですがうまく表示されません。
(すべての表示ではなく、上記の条件です)色々試していますが
教えてください。
hogeには、"焼肉定食","唐揚げ定食","焼魚定食","うどん定食"
if(hoge[0].matches("[定食]")
if(hoge[0].matches("[定食$]")
if(hoge[0].matches("\\p{定食}")
※エラー文Unknown character property name {定食} near index 5
\p{定食}
if(hoge[0].matches("(定食\\d)")
上記は出来ませんでした。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
あなたが何をマッチさせたいのか解りませんが、あなたが提示されたパターンではすべて hoge[0] に格納された "焼肉定食" にマッチしません。
if(hoge[0].matches("[定食]") : "定" か "食" にのみマッチ
if(hoge[0].matches("[定食$]") : "定" 、 "食" 、 "$" のいずれかにのみマッチ
if(hoge[0].matches("\\p{定食}") : \p{} の括弧の中に書けるのは文字種を表す文字列のみで、 "定食" という文字種はないためエラーとなる
if(hoge[0].matches("(定食\\d)") : "定食" のあとに一桁の数字が付いた 3 文字の文字列
もし hoge に格納された文字列の中から "定食" で終わるものを抽出するのであれば、その正規表現は .+定食 となるべきで、それゆえコードは
if(hoge[0].matches(".+定食")
となるべきです。
また、あなたの望みが hoge に格納された文字列のうち "定食" で終わるものの、その "定食" を取り除いた部分を抽出したいのであれば、マッチした文字列から後ろ 2 文字を取り除けばいいだけですし、マッチするかどうかの判定には正規表現ではなく endsWith() メソッドを使った方がコードが読みやすくなります。
http://docs.oracle.com/javase/jp/6/api/java/lang …
それでもどうしてもすべて正規表現で行いたいならば、String のメソッド matches() ではなく、正規表現クラス Pattern のインスタンスを生成し、そのインスタンスの macther() にチェックしたい文字列を渡して結果として Mather クラスのインスタンスを取得し、その Mather クラスのインスタンスの matches() メソッドを呼び出してマッチしたかどうかを確認後、group() メソッドを呼び出して結果を取得してください。このとき、使用する正規表現は (.+)定食 と括弧を追加したものになります。
http://docs.oracle.com/javase/jp/6/api/java/util …
No.1
- 回答日時:
文章の意味がわからん. 「末尾の2文字をとって正規表現したい」ってどういうこと?
そして, 「うまく表示されません」というのは, 具体的には「何を期待して実際にはどうだった」んだ?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
変数名の付け方
-
複数の変数を宣言する時、同時...
-
javaのクラスの作り方、エラー...
-
変数の参照でエラーが出てしま...
-
Delphiでインスタンスが作成さ...
-
オブジェクト参照がオブジェク...
-
VB6.0で、DLLを動的に参照したい
-
private static という変数の修飾
-
「インスタンス」の意味をわか...
-
SetWindowsHookExで質問
-
VB.NET getとsetの概念がわかり...
-
C#において、同じインスタンス...
-
C#の構造体の開放のしかた
-
Eclipse3でVisualEditorが起動...
-
VB6.0のクラスで、自分自身のイ...
-
VB.NET)ボックスからラベルにデ...
-
フォームのCheck boxとOLEObjec...
-
インスタンス参照でアクセスで...
-
インスタンスを同じ名前で作成...
-
interface,extend,implementの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
private static という変数の修飾
-
変数名の付け方
-
複数の変数を宣言する時、同時...
-
インスタンス参照でアクセスで...
-
生成したインスタンスを削除す...
-
オブジェクト参照がオブジェク...
-
C#において、同じインスタンス...
-
C# インスタンスの破棄
-
変数の参照でエラーが出てしま...
-
インスタンスを同じ名前で作成...
-
VB.NET getとsetの概念がわかり...
-
newしないインスタンス?実体化...
-
javaのクラスの作り方、エラー...
-
非staticフィールドを参照でき...
-
「インスタンス」の意味をわか...
-
[Visual C#] 優先される処理に...
-
フォームの存在をチェックする方法
-
大量のデータとインスタンスの...
-
C#「オブジェクト参照が必要で...
-
String a = "a"; と String b =...
おすすめ情報