经过无数小时的尝试使此正则表达式工作(包括在StackOverflow上进行查找)之后,我认为我会在这里寻求帮助,因为我没有成功。
我尝试创建一个正则表达式来匹配所有内容,而不匹配看起来像这样的任何参数:
public class GPS_Service extends Service {
private static final String TAG = GPS_Service.class.getName();
private static final int minTimeSecondsSamplingRate = AppConfig.GPS_MIN_TIME;
private static final int minDistMetersSamplingRate = AppConfig.GPS_MIN_DISTANCE;
private LocationManager locationManager;
private LocationListener locationListener;
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
@SuppressLint("MissingPermission")
@Override
public void onCreate() {
locationListener = new LocationListener() {
@Override
public void onLocationChanged(Location location) {
Log.d(TAG, "Location changed");
Intent intentSendToMainActivity = new Intent(AppConfig.C_STR_INTENT_FILTER_LOCATION_CHANGED);
intentSendToMainActivity.putExtra(AppConfig.C_STR_LATITUDE, location.getLatitude());
intentSendToMainActivity.putExtra(AppConfig.C_STR_LONGITUDE, location.getLongitude());
sendBroadcast(intentSendToMainActivity);
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onProviderDisabled(String provider) {
Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
};
locationManager = (LocationManager) getApplicationContext().getSystemService(Context.LOCATION_SERVICE);
if (locationManager != null) {
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, minTimeSecondsSamplingRate, minDistMetersSamplingRate, locationListener);
Log.i(TAG, "Starting Location Service");
} else {
Log.e(TAG, "Can't Start Location Service");
}
}
@Override
public void onDestroy() {
super.onDestroy();
if (locationManager != null) {
locationManager.removeUpdates(locationListener);
}
}
text=3242ffs3F34
之后的数据可以是随机的(数字和字符串字符的混合),并且永远不会相同。到目前为止,我已经在下面创建了以下正则表达式,该正则表达式几乎可以满足我的要求,但不起作用。
=
我们非常感谢您的协助!
编辑:
我将使用正则表达式匹配文件中的所有内容,但过滤掉所有看起来像这样的参数:
\b(?!text=.*)\b\S+
以下是配置文件的示例:
text=3242ffs3F34
答案 0 :(得分:0)
要匹配除包含LAST_DOMINO_TIME=
作为子字符串的字符串以外的所有内容,可以使用表达式:
(?!.*\bLAST_DOMINO_TIME=.*$)^.*$
(?!
负前行。
.*
匹配任何内容。\b
字边界。LAST_DOMINO_TIME=
文字子字符串。.*$
直到字符串末尾的所有内容。)
提前关闭。^.*$
声明行首位置,将所有内容匹配到行尾。您可以here试试。