質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

パスワード

パスワードは主に情報にアクセスする際に扱われます。主に、アクセス可能なユーザーを限定する手段として使われます。

正規表現

正規表現とは特定の文字列によるパターンマッチングを行う際に用いられる宣言型プログラミングです。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

Q&A

解決済

2回答

2732閲覧

javaで正規表現の内から、ランダムに文字列を表示したい

engnao

総合スコア29

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

パスワード

パスワードは主に情報にアクセスする際に扱われます。主に、アクセス可能なユーザーを限定する手段として使われます。

正規表現

正規表現とは特定の文字列によるパターンマッチングを行う際に用いられる宣言型プログラミングです。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

0グッド

0クリップ

投稿2020/10/21 15:50

編集2020/10/21 16:17

【問題】
正規表現を使用したランダムな文字列を生成したいです。
因みに、Randomクラスで実装しようと試みましたが、正規表現の中からランダムに文字列を生成することはできませんでした。
(Apache Commonsで実現できるでしょうか?)

また、開発環境にeclipse、javaを使用しています。

どなたかご教示をよろしくお願いいたします。

【実装の詳細】
パスワードのリセット機能を実装しています。
また、決められた正規表現があり、そのルールに従ってリセットボタンを押すと、
正規表現に従ったパスワードが自動的に生成されるイメージです。

【正規表現】
・大文字,小文字,英字,数字の組み合わせ
・10文字

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

正規表現というよりは文字種を設定してランダムな文字列を生成したい、という需要であると解釈しました。

少し調べた感じJavaのライブラリだと

  • Passay
  • Apache Commons Text
  • Apache Commons Lang Library

などを利用すれば簡易に実装できそうです。

参考
https://www.baeldung.com/java-generate-secure-password

投稿2020/10/22 06:30

uskey512

総合スコア144

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

正規表現は検索や置換、検証といったマッチング処理に使うものです。

ランダムに生成したパスワードが「何らかのルールに即している」の検証には使えますが、「正規表現パターンで指定すると、自動的に文字列が生成される」という機能は(正規表現自体には)ありません。

  • 英大文字を網羅したリストから1文字ランダムに選択する処理
  • 英小文字を網羅したリストから1文字ランダムに選択する処理
  • 数字を網羅したリストから1文字ランダムに選択する処理

をそれぞれ1回以上組み合わせて合計10文字になるように、あなたが処理を書いてください。

投稿2020/10/21 16:24

Daregada

総合スコア11990

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

engnao

2020/10/22 02:08

Daregadaさん 連絡ありがとうございます。 頂いた内容を元に、自身で処理を書く事を試みましたが、上手くコードを書く事ができませんでした。 もしよろしければ、サンプルや参考となる資料をご提示いただきたいです。 お時間がある際で大丈夫ですので、ご連絡をよろしくお願いいたします。
Daregada

2020/10/22 06:12

「うまく書けなかった」コードでも質問文に提示しないと、「丸投げの質問」扱いされてしまいます。 たとえば、「英子文字からランダムに選択(重複可)した10文字の文字列」を生成する(処理を書こうとした)コードを質問文に載せるなどすれば、「この部分を修正すればできますよ」という回答が付きやすいですよ。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問