import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "^ *analyticsConfig\\.analyticsClass = WLAnalyticsWrapper\\.self";
final String string = "@objc (WLAppDelegate)\n"
+ "open class WLAppDelegate: LUUIBaseAppDelegate {\n\n"
+ " fileprivate var overrideTabBarControllerDelegate: LUUITabBarControllerDelegate?\n"
+ " open override var tabBarControllerDelegate: UITabBarControllerDelegate? {\n"
+ " if overrideTabBarControllerDelegate == nil {\n"
+ " overrideTabBarControllerDelegate = WLTabBarControllerDelegate()\n"
+ " }\n"
+ " return overrideTabBarControllerDelegate\n"
+ " }\n\n"
+ " @objc open override func applyAppearance() {\n"
+ " super.applyAppearance()\n"
+ " WLAppearance.apply()\n"
+ " }\n\n"
+ " // swiftlint:disable:next function_body_length\n"
+ " @objc open override func configureApplicationKeys() {\n"
+ " let appConfig: LUUIApplicationConfiguration = LUUIApplicationConfiguration.shared()\n\n"
+ " appConfig.crashlyticsAPIKey = WLCrashlyticsAPIKey\n"
+ " appConfig.googleAnalyticsTrackingID = WLGoogleAnalyticsTrackingID\n"
+ " appConfig.inviteFriendsShowsQRCode = true\n"
+ " appConfig.referAFriendCampaignID = NSNumber(value: WLReferAFriendCampaignID)\n"
+ " appConfig.usesSideNavigation = false\n"
+ " appConfig.enablePaymentPreferenceSelection = true\n"
+ " appConfig.sendGiftCardFromSettings = true\n"
+ " appConfig.claimBankingEnabled = true\n"
+ " appConfig.showEnableLocationAlert = true\n"
+ " appConfig.enableFacebookLogin = true\n"
+ " appConfig.myRewardsEnabled = true\n"
+ " appConfig.showOptionalInfoDuringRegistration = true\n"
+ " appConfig.analyticsConfiguration = analyticsConfiguration()\n"
+ " appConfig.cardReaderConfiguration = cardReaderConfiguration()\n"
+ " appConfig.appLocationsScreen = .mapLocations\n"
+ " appConfig.allowsOrderAhead = true\n"
+ " appConfig.enableOrderAheadLandingScreen = true\n"
+ " appConfig.allowsOrderAheadDelivery = false\n"
+ " appConfig.orderAheadMenuLayoutStyle = .list\n"
+ " appConfig.modularRewardsEnabled = true\n"
+ " appConfig.enableOrderAheadTipCell = false\n\n"
+ " appConfig.levelupAPIKey = WLLevelUpAPIKey\n"
+ " appConfig.environmentConfigProd.levelupAppID = WLLevelUpAPIKey as NSString\n"
+ " appConfig.environmentConfigStaging.levelupAPIKey = WLLevelUpAPIKeyStaging as NSString\n\n"
+ " appConfig.levelupAppID = WLLevelUpAppID\n"
+ " appConfig.environmentConfigProd.levelupAppID = WLLevelUpAppID as NSString\n"
+ " appConfig.environmentConfigStaging.levelupAppID = WLLevelUpAppIDStaging as NSString\n\n"
+ " if WLLegacyLoyaltyCampaignID > 0 {\n"
+ " appConfig.loyaltyMigrationCampaignID = NSNumber(value: WLLegacyLoyaltyCampaignID)\n"
+ " appConfig.environmentConfigProd.loyaltyMigrationCampaignID = appConfig.loyaltyMigrationCampaignID!\n"
+ " appConfig.environmentConfigStaging.loyaltyMigrationCampaignID = NSNumber(value: WLLegacyLoyaltyCampaignIDStaging)\n"
+ " }\n\n"
+ " if WLReferAFriendCampaignID > 0 {\n"
+ " appConfig.referAFriendCampaignID = NSNumber(value: WLReferAFriendCampaignID)\n"
+ " appConfig.environmentConfigProd.referAFriendCampaignID = appConfig.referAFriendCampaignID!\n"
+ " appConfig.environmentConfigStaging.referAFriendCampaignID = NSNumber(value: WLReferAFriendCampaignIDStaging)\n"
+ " }\n\n"
+ " if let rewardsLoyaltyCampaignID: NSNumber = applicationConfig().rewardsLoyaltyCampaignID {\n"
+ " appConfig.rewardsLoyaltyCampaignID = rewardsLoyaltyCampaignID\n"
+ " appConfig.rewardsLoyaltyCampaignType = .spendBased\n"
+ " } else if WLRewardsLoyaltyCampaignID > 0 {\n"
+ " appConfig.rewardsLoyaltyCampaignID = NSNumber(value: WLRewardsLoyaltyCampaignID)\n"
+ " appConfig.environmentConfigProd.rewardsLoyaltyCampaignID = appConfig.rewardsLoyaltyCampaignID!\n"
+ " appConfig.environmentConfigStaging.rewardsLoyaltyCampaignID = NSNumber(value: WLRewardsLoyaltyCampaignIDStaging)\n"
+ " appConfig.rewardsLoyaltyCampaignType = .spendBased\n"
+ " }\n\n"
+ " if WLRewardsStatusCampaignID > 0 {\n"
+ " appConfig.rewardsStatusCampaignID = NSNumber(value: WLRewardsStatusCampaignID)\n"
+ " appConfig.environmentConfigProd.rewardsStatusCampaignID = appConfig.rewardsStatusCampaignID!\n"
+ " appConfig.environmentConfigStaging.rewardsStatusCampaignID = NSNumber(value: WLRewardsStatusCampaignIDStaging)\n"
+ " appConfig.rewardsStatusCampaignType = .spendBased\n"
+ " }\n\n"
+ " appConfig.analyticsConfiguration = analyticsConfiguration()\n"
+ " appConfig.cardReaderConfiguration = cardReaderConfiguration()\n"
+ " appConfig.crashReportingConfiguration = crashReportingConfiguration()\n"
+ " appConfig.viewControllerConfiguration = viewControllerConfiguration()\n"
+ " appConfig.viewConfiguration = viewConfiguration()\n"
+ " appConfig.cellConfiguration = cellConfiguration()\n"
+ " }\n\n"
+ " @objc open func analyticsConfiguration() -> LUUIAnalyticsConfiguration {\n"
+ " let analyticsConfig: LUUIAnalyticsConfiguration = LUUIAnalyticsConfiguration()\n"
+ " analyticsConfig.analyticsClass = WLAnalyticsWrapper.self\n"
+ " return analyticsConfig\n"
+ " }\n\n"
+ " @objc open func cardReaderConfiguration() -> LUUICardReaderConfiguration {\n"
+ " let cardReaderConfig: LUUICardReaderConfiguration = LUUICardReaderConfiguration()\n"
+ " cardReaderConfig.cardReaderViewControllerClass = WLCardReaderViewController.self\n"
+ " return cardReaderConfig\n"
+ " }\n\n"
+ " @objc open func crashReportingConfiguration() -> LUUICrashReportingConfiguration {\n"
+ " let crashReportingConfig: LUUICrashReportingConfiguration = LUUICrashReportingConfiguration()\n"
+ " crashReportingConfig.crashReportingWrapperClass = WLCrashlyticsWrapper.self\n"
+ " return crashReportingConfig\n"
+ " }\n\n"
+ " @objc open override func tabBarViewControllers() -> [Any]? {\n"
+ " return UITabBarController.loggedInTabBarController()\n"
+ " }\n\n"
+ " @objc open func viewConfiguration() -> LUUIViewConfiguration {\n"
+ " let config = LUUIViewConfiguration()\n\n"
+ " config.imageRewardProgressionViewClass = WLImageRewardProgressionView.self\n\n"
+ " return config\n"
+ " }\n\n"
+ " @objc open func viewControllerConfiguration() -> LUUIViewControllerConfiguration {\n"
+ " let config = LUUIViewControllerConfiguration()\n\n"
+ " config.confirmGiftCardOrderViewControllerClass = WLConfirmGiftCardOrderViewController.self\n"
+ " config.forgotPasswordViewControllerClass = WLForgotPasswordViewController.self\n"
+ " config.getStartedViewControllerClass = WLGetStartedViewController.self\n"
+ " config.interstitialViewControllerClass = WLInterstitialViewController.self\n"
+ " config.inviteFriendsViewControllerClass = WLInviteFriendsViewController.self\n"
+ " config.logInViewControllerClass = WLLogInViewController.self\n"
+ " config.mapLocationsLocationDetailViewControllerClass = WLMapLocationsLocationDetailViewController.self\n"
+ " config.mapLocationsSearchViewControllerClass = WLMapLocationsSearchViewController.self\n"
+ " config.mapLocationsViewControllerClass = WLMapLocationsViewController.self\n"
+ " config.orderAheadLandingViewControllerClass = WLOrderAheadLandingViewController.self\n"
+ " config.orderGiftCardViewControllerClass = WLOrderGiftCardViewController.self\n"
+ " config.paymentMethodDetailViewControllerClass = WLPaymentMethodDetailViewController.self\n"
+ " config.payViewControllerClass = WLPayViewController.self\n"
+ " config.scanSuccessViewControllerClass = WLScanSuccessViewController.self\n"
+ " config.selectPaymentPreferenceViewControllerClass = WLSelectPaymentPreferenceViewController.self\n"
+ " config.settingsViewControllerClass = WLSettingsViewController.self\n"
+ " config.signUpViewControllerClass = WLSignUpViewController.self\n"
+ " config.signUpOrLogInViewControllerClass = WLSignUpOrLogInViewController.self\n"
+ " config.transactionDetailViewControllerClass = WLTransactionDetailViewController.self\n"
+ " config.transactionHistoryViewControllerClass = WLTransactionHistoryViewController.self\n"
+ " config.rewardsStatusLevelsViewControllerClass = WLRewardsStatusLevelsViewController.self\n"
+ " config.permissionPrimerViewControllerClass = WLPermissionPrimerViewController.self\n"
+ " config.selectPaymentMethodViewControllerClass = WLSelectPaymentMethodViewController.self\n"
+ " config.availableRewardsDrawerViewControllerClass = WLAvailableRewardsDrawerViewController.self\n"
+ " config.modularRewardsViewControllerClass = WLModularRewardsViewController.self\n\n"
+ " return config\n"
+ " }\n\n"
+ " @objc open func cellConfiguration() -> LUUICellConfiguration {\n"
+ " let config = LUUICellConfiguration()\n\n"
+ " config.captionedImageHeaderViewCellClass = WLCaptionedImageHeaderViewCell.self\n"
+ " config.locationCellClass = WLLocationCell.self\n"
+ " config.mapLocationsButtonsCellClass = WLMapLocationsButtonsCell.self\n"
+ " config.mapLocationsLocationCellClass = WLMapLocationsLocationCell.self\n"
+ " config.transactionEarnedCreditCellClass = WLTransactionEarnedCreditCell.self\n"
+ " config.transactionHistoryCellClass = WLTransactionHistoryCell.self\n"
+ " config.statusLevelGoalCellClass = WLStatusLevelGoalCell.self\n"
+ " config.availableRewardIconTableViewCellClass = WLAvailableRewardIconTableViewCell.self\n"
+ " config.orderAheadSpecialInstructionsCellClass = WLOrderAheadSpecialInstructionsCell.self\n"
+ " config.orderAheadCategoryMenuListTableViewCellClass = WLOrderAheadCategoryMenuListTableViewCell.self\n\n"
+ " return config\n"
+ " }\n\n"
+ " @objc open override func settingsSectionsData() -> LUUIStaticTableViewData {\n"
+ " let data = LUUIStaticTableViewSectionsData()\n\n"
+ " data.add(WLStaticTableViewSectionFactory.customSocialSection())\n"
+ " data.add(WLStaticTableViewSectionFactory.customAccountSection())\n"
+ " data.add(WLStaticTableViewSectionFactory.customHelpSection())\n\n"
+ " return data\n"
+ " }\n\n"
+ "}\n";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
final Matcher matcher = pattern.matcher(string);
if (matcher.find()) {
System.out.println("Full match: " + matcher.group(0));
for (int i = 1; i <= matcher.groupCount(); i++) {
System.out.println("Group " + i + ": " + matcher.group(i));
}
}
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html