diff --git a/lib/components/search/search_results_body/parts/kanji_kana_box.dart b/lib/components/search/search_results_body/parts/kanji_kana_box.dart index 448b81c..654ae8a 100644 --- a/lib/components/search/search_results_body/parts/kanji_kana_box.dart +++ b/lib/components/search/search_results_body/parts/kanji_kana_box.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:jisho_study_tool/services/kanji_regex.dart'; import 'package:unofficial_jisho_api/api.dart'; import '../../../../models/themes/theme.dart'; @@ -34,8 +35,8 @@ class KanjiKanaBox extends StatelessWidget { bool get hasFurigana => word.reading != null; - String get kana => '${word.reading ?? ""}${word.word ?? ""}' - .replaceAll(RegExp(r'\p{Script=Hani}', unicode: true), ''); + String get kana => + '${word.reading ?? ""}${word.word ?? ""}'.replaceAll(kanjiRegex, ''); @override Widget build(BuildContext context) { diff --git a/lib/components/search/search_results_body/search_card.dart b/lib/components/search/search_results_body/search_card.dart index e41ebce..fe5968b 100644 --- a/lib/components/search/search_results_body/search_card.dart +++ b/lib/components/search/search_results_body/search_card.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:jisho_study_tool/services/kanji_regex.dart'; import 'package:unofficial_jisho_api/api.dart'; import './parts/common_badge.dart'; @@ -55,7 +56,7 @@ class _SearchResultCardState extends State { return jlpt.last; } - List get kanji => RegExp(r'(\p{Script=Hani})', unicode: true) + List get kanji => kanjiRegex .allMatches( widget.result.japanese .map((w) => '${w.word ?? ""}${w.reading ?? ""}') diff --git a/lib/services/kanji_regex.dart b/lib/services/kanji_regex.dart new file mode 100644 index 0000000..6cf4c3f --- /dev/null +++ b/lib/services/kanji_regex.dart @@ -0,0 +1 @@ +final kanjiRegex = RegExp(r'\p{Script=Hani}', unicode: true);