v0.0.7
regexed_text
이 패키지는 주어진 패턴 목록과 일치하는 텍스트를 강조 표시하기 위한 추가 기능을 제공하도록 Text 위젯을 확장합니다.
30좋아요 3730일 다운로드160Pub 점수
AndroidiOSWebmacOSWindows
이 패키지는 주어진 정규 표현식 패턴 목록과 일치하는 텍스트를 강조 표시하기 위한 추가 기능을 제공하기 위해 Text 위젯을 확장합니다.
{"sdk":"flutter"}{"sdk":"flutter"}^3.0.0아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.
This package extends the Text widget to provide additional functionality for highlighting text that matches a given list of RegExp patterns.
Text widget.Add the following to your pubspec.yaml file:
dependencies:
regexed_text: ^0.0.7
Then run flutter pub get to install the package.
screenshoot
import 'package:flutter/material.dart';
import 'package:regexed_text/regexed_text.dart';
const longTextExample = """
Hello @johnDoe, I found this interesting website that you might like: https://www.example.com. It has a lot of useful resources. Also, check out www.another-example.com for more related content. By the way, I came across @janeDoe profile, and it seems she has similar interests. You can connect with her. Lastly, don't forget to visit example.com for the latest updates.
You can reach out to me at john.doe@example.com. I'm always open to discussing new ideas. Also, did you check out the latest trend on social media? The hashtag #example is trending right now!
By the way, I found this phone number +1-123-456-7890 in my old contacts. I think it belongs to our mutual friend. And, don't forget our meeting on 12/31/2022. Looking forward to it!
""";
void main() {
runApp(const MainApp());
}
class MainApp extends StatelessWidget {
const MainApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('RegexedText example'),
),
body: Padding(
padding: const EdgeInsets.all(18),
child: RegexedText(
longTextExample,
patterns: [
usernamePattern,
urlPattern,
emailPattern,
hashtagPattern,
phoneNumberPattern,
datePattern,
],
normalStyle: const TextStyle(color: Colors.black),
regexedStyle: (pattern) {
if (pattern == usernamePattern) {
return const TextStyle(
color: Colors.red,
fontWeight: FontWeight.w600,
);
}
if (pattern == hashtagPattern) {
return const TextStyle(
color: Colors.blue,
fontWeight: FontWeight.w600,
);
}
if (pattern == datePattern) {
return const TextStyle(
color: Colors.black,
fontWeight: FontWeight.w600,
);
}
return const TextStyle(
color: Colors.blue,
decoration: TextDecoration.underline,
);
},
onTap: (text, pattern) {
print(text);
print(pattern);
if (pattern == urlPattern) {
// Launch [text] with url_launcher or something
}
},
),
),
),
);
}
}
This project is licensed under the MIT License - see the LICENSE file for details.